Capistrano - “无法加载此类文件--deploy”

时间:2013-12-17 19:29:01

标签: ruby-on-rails deployment capistrano cap

处理设置为使用Capistrano部署的现有rails项目。试图确定我弄清楚这个错误的第一步。任何人都能指出我需要做的正确方向吗?

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/ruby-2.0.0-p247@febennett/gems/capistrano-      
3.0.1/lib/capistrano/application.rb:22:in `load_rakefile'
/Users/lrh/.rvm/gems/ruby-2.0.0-p247@febennett/gems/capistrano-
3.0.1/lib/capistrano/application.rb:12:in `run'
/Users/lrh/.rvm/gems/ruby-2.0.0-p247@febennett/gems/capistrano-3.0.1/bin/cap:3:in `<top   
(required)>'
/Users/lrh/.rvm/gems/ruby-2.0.0-p247@febennett/bin/cap:23:in `load'
/Users/lrh/.rvm/gems/ruby-2.0.0-p247@febennett/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

谢谢!希望这是足够的信息。

2 个答案:

答案 0 :(得分:32)

你正在使用Capistrano 3,但你正在使用的项目可能是为Capistrano 2设置的。版本3是完全重写的,需要大量的配置更新才能工作。

假设您的项目Gemfile中有正确的2.x版Capistrano,您应该使用bundle exec cap(使用您项目的版本)而不只是cap(这将是{{1}}使用全球安装的3.x版本。)

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

答案 1 :(得分: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 

现在您可以继续执行相同的命令。一切顺利:)