2010-09-18 42 views
0

所以這是我的問題。我使用Capistrano將我的Rails 3應用程序部署到安裝了Phusion Passenger 3的Ubuntu服務器上。一切都應該正常工作,但我不斷收到此錯誤消息。當在Phusion乘客上運行時,Bundler找不到Rails目錄

無法在/ var/www/rails/releases/20100916074325中找到Gemfile。 (Bundler :: GemfileNotFound)

系統上存在錯誤消息中的目錄(我爲澄清而添加),Gemfile也存在。下面的錯誤消息,堆棧跡線顯示錯誤被內部

/usr/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/shared_helpers.rb

拋出

因此,我去了那裏,並添加輸出來檢查該路徑上的目錄的存在,並且每一個返回false一直到'www'。我很懷疑。

爲什麼無法在Passenger下運行的Bundler找到這些路徑?我能做些什麼來解決它? (我即將放棄乘客在這一點上。)

+0

乘客3在測試版本2中很明顯,可能有問題。任何可能是路徑或權限問題? – Brian 2010-09-18 03:35:11

+0

我已經得到了與以前的版本相同的錯誤,實際上只更新爲3,因爲我認爲它可能會在新版本中修復。我認爲這不太可能是路徑或燙髮問題,因爲這些路徑似乎甚至不存在於Bundler運行的環境中。 : -/ – picardo 2010-09-18 03:41:01

回答

2

這幾乎肯定是一個權限問題。也就是說,請嘗試Phusion Passenger git master;我們已經增加了積極的權限檢查,現在它應該告訴你到底發生了什麼問題以及需要修復的問題,而不是讓錯誤信息出現,比如你現在看到的那些隱藏的錯誤信息。

Bundler認爲路徑因權限問題而不存在。具體而言:如果/,/a/a/b沒有適用於當前進程的所有者的正確可執行位,則File.directory?("https://stackoverflow.com/a/b/c")返回false。

+0

我試過「chmod -R 777/var/www/rails」,但沒有奏效。我做對了嗎? (感謝您的好評。) – picardo 2010-09-18 13:51:00

+0

您還需要檢查/ var/www和/ var。 – Hongli 2010-09-18 19:47:21

相關問題