0

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

无法在 /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找不到这些路径?我能做些什么来解决它?(此时我即将放弃Passenger。)

4

1 回答 1

2

这几乎肯定是一个权限问题。也就是说,请尝试 Phusion Passenger git master;我们已经添加了积极的权限检查,所以现在它应该准确地告诉您哪里出了问题以及需要修复的地方,而不是让事情出错并出现像您现在看到的那样的神秘错误消息。

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

于 2010-09-18T09:29:57.453 回答