2011-02-27 30 views
6

我在通过Capistrano的Passenger上部署我的应用程序时出现问题。在Gemfile.lock上拒绝的权限

我似乎无法摆脱权限被拒绝 -/bundler/definition.rb /path/to/app/Gemfile.lock。有没有人有过这个?

我已经尝试chmoding和chowning文件,但没有帮助。

有其他人有问题吗?

回溯是

/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler/definition.rb 184 in `initialize' 
/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler/definition.rb 184 in `open' 
/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler/definition.rb 184 in `lock' 
/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler/environment.rb 39 in `lock' 
/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler/runtime.rb 35 in `setup' 
/usr/local/rvm/gems/ruby-1.9.2-head/gems/bundler-1.0.0/lib/bundler.rb 100 in `setup' 

UPDATE:后查看以下链接 - here,我设法通过捆绑上开发,然后recommiting的Gemfile.lock的来解决该问题。

+0

面对完全相同的异常。你是否设法将错误摆脱? – xecutioner

+0

尝试在本地重新运行bundle安装,并在再次部署之前重新提交Gemfile.lock。为我工作 –

+0

我升级了服务器中的捆绑器版本,错误消失了。谢谢。 – xecutioner

回答

6

尝试删除Gemfile.lock并在您的服务器上运行bundle install

+0

嗨凯文,我已经尝试过,但不幸的是没有喜悦。什么用户/组做Passenger访问文件?我作为根源ssh'ed。这可能与此有关吗? –

+1

要回答这个问题,请从文档中找到:“Rails应用程序作为文件'config/environment.rb'的所有者启动,Rack应用程序作为文件'config.ru'的所有者启动。因此,如果'/ home/webapps/foo/config/environment.rb'由'joe'拥有,那么Phusion Passenger也会以'joe'启动相应的Rails应用程序。“ –

+0

工作就像一个魅力,即时通讯也运行乘客 – Francois

0

这是值得检查锁文件的所有者。在我运行'sudo bundle install'的时候进入了这个环境,因为我一直在为所有用户安装gemfiles。后来快速的“chown”,一切都被排序。