2016-11-23 309 views
1

我下面這個guide,安裝Ruby,而一切都只是當我嘗試運行此命令授予權限的路徑

軌新MYAPP -d mysql的

其中

沒有問題我得到這個錯誤

run bundle install 
There was an error while trying to write to 
`/home/fil/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47`. It is likely that you need to 
grant write permissions for that path. 
     run bundle exec spring binstub --all 
bundler: command not found: spring 
Install missing gem executables with `bundle install` 

有什麼辦法解決這個問題嗎?

+0

你在Linux或Windows10上? – whodini9

+0

試試sudo bundle install –

+0

linux作爲windows 10的子系統 – Fil

回答

3

它看起來像是在某個時候以root身份運行bundle install(通過sudo bundle install),你永遠不應該這樣做。你可以通過sudo來解決這個問題,正如@GurmukhSingh所建議的那樣,但這隻會增加問題的複雜性,從安全的角度來看這不是一個好主意。如果,在所有返回任何

find ~/.bundle/cache ! -user fil -ls 

,那麼:

如果你想找到不是由fil擁有您的捆紮機緩存文件(假設你的用戶名是fil),你可以運行這個問題很可能是這些文件歸root(或某個其他用戶)所有,這就是問題; -ls國旗find將告訴你誰擁有他們。

您可以刪除問題的文件,並再次運行bundle install,或者你可以改變他們的所有權:

chown -R fil ~/.bundle/cache 

您可能需要檢查所有文件~/.bundle而不僅僅是cache目錄。

未來,請勿通過sudo運行bundle install

+0

它返回這個find:''/home/fil/.bundle/cache':沒有這樣的文件或目錄' – Fil

+0

也許你第一次做了'sudo bundle'使用它,'〜/ .bundle'屬於root。如果'ls -l〜/ .bundle'顯示它擁有root權限,請執行'chmod -R fil〜/ .bundle'。如果你甚至沒有'.bundle'目錄,那麼你就會遇到更大的問題,比如可能不擁有你的主目錄。 –

+0

我也嘗試這個,因爲沒有緩存,這是結果'chown -R fil〜/ .bundle chown:更改'/home/fil/.bundle'的所有權:不允許操作' – Fil