当在Phusion乘客上运行时,Bundler找不到Rails目录

时间:2010-09-18 01:51:56

标签: ruby-on-rails ruby passenger bundler

所以这是我的问题。我使用Capistrano将我的Rails 3应用程序部署到安装了Phusion Passenger 3的Ubuntu服务器上。一切都应该正常,但我不断收到此错误消息。

  

无法在/ var / www / rails / releases / 20100916074325中找到Gemfile。 (捆扎机:: GemfileNotFound)

错误消息中的目录(我为澄清而添加)确实存在于系统上,Gemfile也是如此。在错误消息下面,堆栈跟踪显示错误被抛出

  

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

所以我进去并添加了输出以检查该路径上是否存在目录,并且每一个都返回false,一直到'www'。我不相信。

为什么在Passenger下运行的Bundler不能找到这些路径?我该怎么做才能解决它? (此时我即将放弃乘客。)

1 个答案:

答案 0 :(得分:2)

这几乎肯定是一个许可问题。也就是说,请尝试Phusion Passenger git master;我们已经添加了积极的权限检查,所以它现在应该告诉你确切的错误和需要修复的内容,而不是让错误的错误信息出现,就像你现在看到的一样。

Bundler认为由于权限问题,路径不存在。具体来说:如果File.directory?("/a/b/c")//a没有当前进程所有者的正确可执行位,则/a/b会返回false。