2012-05-13 64 views
9

我一直在关注部署到VPS的Railscast,一切顺利,直到我尝试运行cap deploy。它试图找到一个目录似乎失败。这里是错误信息:使用Capistrano部署时出错

* executing `deploy' 
triggering before callbacks for `deploy' 
* executing `deploy:check_revision' 
* executing `deploy:update' 
** transaction: start 
* executing `deploy:update_code' 
updating the cached checkout on all servers 
executing locally: "git ls-remote [email protected]:markprovan/dropwall_rails.git master" 
command finished in 2531ms 
* executing "if [ -d /home/deployer/apps/dropwall_rails/shared/cached-copy ]; then cd /home/deployer/apps/dropwall_rails/shared/cached-copy && git fetch -q origin && git fetch -- tags -q origin && git reset -q --hard 9407f1feb2ea5b1c4a0666196bdcbb9ad888563e && git clean -q -d -x -f; else git clone -q [email protected]:markprovan/dropwall_rails.git /home/deployer/apps/dropwall_rails/shared/cached-copy && cd /home/deployer/apps/dropwall_rails/shared/cached-copy && git checkout -q -b deploy 9407f1feb2ea5b1c4a0666196bdcbb9ad888563e; fi" 
servers: ["209.61.142.61"] 
Password: 
[209.61.142.61] executing command 
** [209.61.142.61 :: out] The authenticity of host 'github.com (207.97.227.239)' can't be established. 
** RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. 
** Are you sure you want to continue connecting (yes/no)? 
** [209.61.142.61 :: out] yes 
** Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. 
command finished in 2655ms 
copying the cached version to /home/deployer/apps/dropwall_rails/releases/20120513204913 
* executing "cp -RPp /home/deployer/apps/dropwall_rails/shared/cached-copy /home/deployer/apps/dropwall_rails/releases/20120513204913 && (echo 9407f1feb2ea5b1c4a0666196bdcbb9ad888563e > /home/deployer/apps/dropwall_rails/releases/20120513204913/REVISION)" 
servers: ["209.61.142.61"] 
[209.61.142.61] executing command 
** [out :: 209.61.142.61] cp: cannot create directory `/home/deployer/apps/dropwall_rails/releases/20120513204913': No such file or directory 
command finished in 482ms 
*** [deploy:update_code] rolling back 
* executing "rm -rf /home/deployer/apps/dropwall_rails/releases/20120513204913; true" 
servers: ["209.61.142.61"] 
[209.61.142.61] executing command 
command finished in 479ms 
failed: "sh -c 'cp -RPp /home/deployer/apps/dropwall_rails/shared/cached-copy /home/deployer/apps/dropwall_rails/releases/20120513204913 && (echo 9407f1feb2ea5b1c4a0666196bdcbb9ad888563e > /home/deployer/apps/dropwall_rails/releases/20120513204913/REVISION)'" on 209.61.142.61 

我已经花了很多年了,似乎无法找到我要出错的地方。

回答

23

您是否运行cap deploy:setupcap deploy:check?这些应该突出很多常见问题。

上面的错误导致失败看起来像权限问题。

cp: cannot create directory `/home/deployer/apps/dropwall_rails/releases/20120513204913': No such file or directory 

确保该文件夹存在,并且部署用户具有正确的操作权限。

0

权限问题可能由默认的Capistrano use_sudo行为引起。 集:

这可以通过下面的配置参数替换use_sudo,假

奇怪的是,如果这个参数没有设置为false,Capistrano的将使用sudo一些命令,并不会使用它为他人。对我来说就像一个错误。