2013-12-17 78 views
14

正在使用Capistrano進行部署的現有鋼軌項目。試圖確定我的第一步,找出這個錯誤。任何人都可以指出我需要做的正確方向嗎?Capistrano - 「無法加載此文件 - 部署」

cap aborted! 
cannot load such file -- deploy 
/Users/lrh/Projects/Rails/febennett.com/Capfile:1:in `load' 
/Users/lrh/Projects/Rails/febennett.com/Capfile:1:in `<top (required)>' 
/Users/lrh/.rvm/gems/[email protected]/gems/capistrano-  
3.0.1/lib/capistrano/application.rb:22:in `load_rakefile' 
/Users/lrh/.rvm/gems/[email protected]/gems/capistrano- 
3.0.1/lib/capistrano/application.rb:12:in `run' 
/Users/lrh/.rvm/gems/[email protected]/gems/capistrano-3.0.1/bin/cap:3:in `<top 
(required)>' 
/Users/lrh/.rvm/gems/[email protected]/bin/cap:23:in `load' 
/Users/lrh/.rvm/gems/[email protected]/bin/cap:23:in `<main>' 
(See full trace by running task with --trace) 

Capfile下面

load 'deploy' 
# Uncomment if you are using Rails' asset pipeline 
load 'deploy/assets' 
load 'config/deploy' # remove this line to skip loading any of the default tasks 

謝謝!希望這是足夠的信息。

+1

向我們展示'Capfile'。向我們顯示'config/deploy.rb'(屏蔽掉任何敏感的東西)。告訴我們你是如何調用capistrano的。 –

+0

可能重複的[Capistrano沒有這樣的文件加載 - 部署](http://stackoverflow.com/questions/9370920/capistrano-no-such-file-to-load-deploy) –

回答

31

您正在使用Capistrano 3,但您使用的項目可能是爲Capistrano 2設置的。第3版是完全重寫並需要大量配置更新才能正常工作。

假設你已經在你的項目的Gemfile,你應該使用bundle exec cap(使用你的項目的版本)Capistrano的正確2.x版,而不是僅僅cap(其中會使用到全球安裝3.x版)。

有一個upgrade guide可用,但它不是非常深入。

+0

謝謝 - 這的確是這樣。 –

+0

謝謝你。我想過是這樣的。我假設Capistrano 3.0的化名超過2.0+ – icantbecool

1

您需要移動/刪除您的舊帽子文件,因爲您的項目在使用帽子2而不是帽子3之前完全是您的項目。現在,如果您想在此之前將帽子升級到3,請遵循以下步驟。

刪除以下提到的文件,或者你可以簡單地如下別的地方移動相同的文件:

mkdir old_cap 
mv Capfile old_cap 
mv config/deploy.rb old_cap 
mv config/deploy/ old_cap # --> only for multistage setups 

現在你可以用同樣的命令進行。一切順利:)