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