这是我第一次使用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
我甚至不理解错误信息。任何帮助来解决这个问题。感谢
答案 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 - 如果是这样,是否在部署者上设置服务器