[email protected]:~/workspace/rails/nwis$ rails -v Rails 3.0.7 [email protected]:~/workspace/rails/nwis$ sudo rails -v sudo: rails: command not found
在終端:#rails的作品,但#sudo軌不-RVM寶石
我需要使用sudo,因爲我有一個權限被拒絕的錯誤,當我試圖在我的機器上運行軌道服務器。
我認爲這是RVM和使用Gemsets的問題,但我不知道爲什麼。我已經嘗試使用sudo爲每個命令重新運行Gemset安裝過程,以確保我的root用戶和普通用戶位於同一頁面上,但是這給了我相同的結果。
要明確爲什麼我作爲sudo運行;試圖啓動一個導軌服務器時,這是發生了什麼:
rails server
=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/home/alec/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.2/lib/rack/server.rb:267:in `initialize': Permission denied - /home/alec/workspace/rails/nwis/tmp/pids/server.pid (Errno::EACCES)
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.2/lib/rack/server.rb:267:in `open'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.2/lib/rack/server.rb:267:in `write_pid'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/rack-1.2.2/lib/rack/server.rb:203:in `start'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands/server.rb:65:in `start'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands.rb:30:in `block in <top (required)>'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands.rb:27:in `tap'
from /home/alec/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.7/lib/rails/commands.rb:27:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'`
與rvm,你真的不應該使用sudo - 你可能想嘗試清除系統範圍內安裝的gem(通過sudo安裝)並重新啓動。如果您需要其他用戶擁有的rails目錄,請考慮使用sudo創建必要的組,將自己添加到該組,併爲父目錄提供組寫入權限。 – 2011-05-01 17:48:47
「許可被拒絕」錯誤很有可能是因爲您以前使用過sudo。檢查文件的權限(尤其是tmp和日誌文件),並確保它們屬於alec而不是root。或者只需在rails應用程序目錄中嘗試'sudo chown -R alec:users *'。 (使用一個雖然存在的組,如'alec'或'staff') – 2011-05-01 17:54:38