Capistrano版本冲突

时间:2017-02-01 18:46:14

标签: ruby-on-rails capistrano

我尝试上传我的Rails应用程序:

bin/cap production deploy

但部署失败并显示以下错误消息:

You have requested:                                                                     
  capistrano ~> 3.3.0                                                                   

The bundle currently has capistrano locked at 3.7.1.                                    
Try running `bundle update capistrano`                                                  

If you are updating multiple gems in your Gemfile at once,                              
try passing them all to `bundle update`

我尝试通过运行来解决问题:

bundle update capistrano

但这并没有解决它。

我不能得到的是,我不知道我的应用程序在哪里要求使用capistrano 3.3.0'。在我的Gemfile中,我将Capistrano设置为3.7版。

除了capistrano宝石,我还使用:

gem capistrano-rails, '~> 1.2'
gem capistrano3-delayed-job, '~> 1.3'
gem capistrano-figaro-yml

我的Gemfile位于:

https://github.com/acandael/personalsite/blob/master/Gemfile

有人知道如何解决这个Capistrano版本问题吗?

感谢您的帮助,

安东尼

3 个答案:

答案 0 :(得分:2)

请按照正确的顺序执行所有步骤(不要跳过任何步骤,因为你这样做了)

  1. cd到您的项目目录
  2. 运行bundle exec gem uninstall capistrano -a以从您的软件包中删除所有capistrano版本
  3. 运行gem uninstall capistrano -a以从系统中删除所有capistrano版本 。请注意,如果收到错误消息,则可能需要使用root访问权限运行
  4. 运行bundle install
  5. 运行bundle exec gem list capistrano,它应输出所有已安装的宝石,其名称包含" capistrano"。你应该只有一个版本 capistrano gem
  6. 检查文件 config / deploy.rb config / deploy / * .rb 如果您有lock 3.x.x指令,请确保它匹配第5步中显示的安装版本
  7. 使用bundle exec cap production deploy在捆绑上下文中运行上限(使用完全此命令行,不要使用bin / cap)

答案 1 :(得分:0)

尝试bundle exec cap production deploy

答案 2 :(得分:0)

尝试删除YOUR_APP/.bindle目录并再次运行bundle install