2017-04-24 234 views
0

我正在嘗試使我的sass工作,它工作正常,但它已經有一段時間了,因爲我工作了,所以今天我想sass觀看我的文件夾,但該watch命令didn沒有工作。所以,我累了由 ruby -version檢查紅寶石版本,我得到了回覆Ruby已安裝,但sass不會安裝

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] -e:1:in <main>': undefined local variable or method rsion' for main:Object (NameError)

但是當我做gem install sass它給我的錯誤

While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

如果我沒看錯的,其許可的說服力,但我管理員和我嘗試使用sudo

+0

你試過'gem update --system'嗎? (嘗試用'sudo'如果沒有啓動呢) –

+0

@ cema-sp運行後它會產生這個錯誤'sudo:update:command not found' – Nofel

+0

嘗試'sudo -gem update --system' –

回答

2

的第一個錯誤,你看到同樣的命令:

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16] -e:1:in ': undefined local variable or methodrsion' for main:Object (NameError)

是因爲您運行錯誤的命令。如果運行ruby -vruby --version(注意連字符),您將看到:

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

你看到的錯誤消息是因爲Ruby可以在命令行標誌-e直接在命令行中運行代碼:

$ ruby -e 'puts "Hello world"' 
Hello world 

通過運行ruby -version(注意一個連字符),Ruby解釋器試圖評估命名rsion一個變量/方法,並拋出一個錯誤。

至於你安裝寶石的實際錯誤,這是由於啓用了無根系統完整性保護(在Max OSx上)造成的。您可以禁用保護(如this post中所述),也可以通過RVM/RBenv安裝ruby以避免需要sudo權限來安裝gem。

+0

感謝您的詳細答案,但我仍然得到錯誤'執行gem時...(Gem :: FilePermissionError) 您沒有寫入/Library/Ruby/Gems/2.0.0目錄的權限' – Nofel

+0

你是什麼嘗試?您是否禁用無根系統完整性保護?你是否通過'brew',或'rvm'或'rbenv'安裝了ruby?你是否使用'sudo'運行命令? –

+0

我跟着鏈接u [提及](http://stackoverflow.com/questions/33015875/operation-not-permitted-usr-bin-update-rubygems),然後嘗試運行'brew install ruby​​',但它說取消鏈接sylink,並給了我一個命令,我做了之後,我可以運行'bew install ruby​​' nd之後,我試着運行'gem install sass'。不知道什麼是「rvm」或「rbenv」 – Nofel