运行capistrano时出错

时间:2012-11-15 21:25:12

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2 capistrano

这是我第一次使用capistrano,我收到以下错误

*** [deploy:update_code] rolling back
  * executing "rm -rf /home/deployer/apps/cf/releases/20121115211351; true"
    servers: ["208.68.37.172"]
    [208.68.37.172] executing command
    command finished in 9420ms
failed: "sh -c 'cd /home/deployer/apps/cf/releases/20121115211351 && bundle install --gemfile /home/deployer/apps/cf/releases/20121115211351/Gemfile --path /home/deployer/apps/cf/shared/bundle --deployment --quiet --without development test'" on 208.68.37.172

我甚至不理解错误信息。任何帮助来解决这个问题。感谢

2 个答案:

答案 0 :(得分:0)

它说如果无法在主机208.68.37.172上运行该命令。这个命令:

sh -c 'cd /home/deployer/apps/cf/releases/20121115211351 && bundle install --gemfile /home/deployer/apps/cf/releases/20121115211351/Gemfile --path /home/deployer/apps/cf/shared/bundle --deployment --quiet --without development test'"

如果它没有给你任何其他信息,你可以调整配置以从bundle命令中删除--quiet以获得更多输出,或者在服务器上手动运行它以查看正在发生的事情。

答案 1 :(得分:0)

关于capistrano的理解主要是通过ssh远程运行命令,因此你可以通过尝试类似ssh someuser@somehost somecommand的命令来分解给定命令,其中“somecommand”是失败的行。要更接近问题,首先ssh进入主机,然后运行命令(例如sh -c 'cd /home/deployer'是命令cd /home/deployer),如果没有返回错误&&将成功,并尝试运行下一个bundle install ...

capistrano错误的最常见原因是用户没有足够的权限,但在您的情况下,如果您在bundle install失败,您是否在本地使用RVM - 如果是这样,是否在部署者上设置服务器