我刚刚运行了捆绑更新,并且capistrano已更新到3.0.0但现在当我运行cap deploy时出现错误,无法弄清楚如何解决这个问题。在这次更新之前,我每天都在更新我的服务器而没有任何问题。
cap aborted!
cannot load such file -- deploy
/home/mark/rails_apps/myapp/Capfile:1:in `load'
/home/mark/rails_apps/myapp/Capfile:1:in `<top (required)>'
capfile
load 'deploy'
load 'deploy/assets'
load 'config/deploy' # remove this line to skip loading any of the default tasks
答案 0 :(得分:39)
我必须宝石卸载capistrano并选择版本3.0.0
(即将宝石降级为2.x)
答案 1 :(得分:21)
我不得不跑
gem uninstall capistrano
然后使用更新gemfile
gem 'capistrano', '~> 2.15'
然后再次运行以重新安装正确的版本
bundle update capistrano
答案 2 :(得分:18)
确保使用bundle exec(很可能你有多个gemist版本的capistrano)
即
bundle exec cap -T
答案 3 :(得分:8)
不使用降级到Capistrano 2,而是使用当前版本的新配置。
require "capistrano/bundler"
require "capistrano/rails/assets"
require "capistrano/rails/migrations"
See also this nice posting,总结了Capistrano 2和3之间的差异。
答案 4 :(得分:4)
将相关的宝石添加到Gemfile
即。为了
gem 'capistrano-bundler' # for capistrano/bundler
gem 'capistrano-rails' # for capistrano/rails/*
请勿降级至2.x。
答案 5 :(得分:2)
我今天遇到了这个问题,并且上面解决了pastullo的解决方案,除了我必须运行gem卸载capistrano(作为markhorrocks回答)而不是捆绑卸载capistrano。
我还发现Bundler上的这个博客非常有用:http://viget.com/extend/bundler-best-practices
感谢分享这个,因为它为我节省了大量时间。 X
答案 6 :(得分:2)
解决这个问题的最快方法我发现是备份上限文件(Capfile,config / deploy.rb和config / deploy / * .rb),然后重新限定(它不再称为“capify”):
bundle exec cap install STAGES=staging,production
然后从备份中重新创建您的上限文件。这将花费你5分钟的时间来完成你的主要Capistrano升级驼峰。
答案 7 :(得分:0)
我用过
bundle exec cap production deploy
而不只是cap production deploy
答案 8 :(得分:0)
在我的情况下,我已经更改了我的项目ruby版本。可能bundle
也可以在这里工作。
但是我把它改成了以前的样子。
前:
rbenv local 2.4.1