2012-05-13 63 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一些命令,並不會使用它爲他人。對我來說就像一個錯誤。