Rails 4,Capistrano 3.0.0,无法加载这样的文件 – 部署

我只是运行软件包更新和capistrano得到更新到3.0.0,但现在当我运行cap部署我得到一个错误,不能弄清楚如何解决这个问题。 我一直在更新我的服务器每一天没有问题,直到此更新。

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 

我不得不运行gem uninstall capistrano

然后更新gem'capistrano gem 'capistrano', '~> 2.15'

然后运行以重新安装bundle update capistrano正确的版本

我不得不gem卸载capistrano和select3.0.0版本

(即将gem降级到2.x)

确保你使用bundle exec(最有可能你有多个杰西卡诺版本的gem)

bundle exec cap -T

而不是降级到Capistrano 2使用当前版本的新configuration。

 require "capistrano/bundler" require "capistrano/rails/assets" require "capistrano/rails/migrations" 

另请参阅这篇精彩的贴子 ,其中总结了Capistrano 2和3之间的区别。

将相关的gem添加到您的Gemfile

即为

 gem 'capistrano-bundler' # for capistrano/bundler gem 'capistrano-rails' # for capistrano/rails/* 

不要为此降级到2.x。

我今天有这个问题,并且pastullo的解决scheme上面固定它,除了我必须运行gem卸载capistrano(如markhorrocks回答)不捆绑卸载capistrano。

我还发现这个博客在捆绑器上非常有用: http : //viget.com/extend/bundler-best-practices

感谢分享,因为它节省了我大量的时间。 X

解决这个问题的最快方法是备份cap文件(Capfile,config / deploy.rb和config / deploy / *。rb),然后重新设置capify(不再称为“capify”):

 bundle exec cap install STAGES=staging,production 

然后从您的备份重新创build您的上限文件。 这将需要你5分钟做到这一点,你会超过主要的Capistrano升级驼峰。

我用了

bundle exec cap production deploy

而不仅仅是cap production deploy