Capistrano 版本冲突

Capistrano version conflict

我正在尝试上传我的 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

但这并没有解决问题。

我不明白的是我没有看到我的应用程序在哪里 'asks for capistrano 3.3.0'。在我的 Gemfile 中,我将 Capistrano 设置为 3.7 版。

除了 capistrano gem 我还在使用:

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 版本问题吗?

感谢您的帮助,

安东尼

尝试bundle exec cap production deploy

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

请按正确顺序执行所有步骤(不要跳过任何步骤)

  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 应该输出所有已安装的 gem 名称包含 "capistrano"。您应该 只有 capistrano gem
  6. 的一个版本
  7. 检查文件 config/deploy.rbconfig/deploy/*.rb 如果你有lock 3.x.x 指令,并确保它与步骤 5 中显示的安装版本相匹配
  8. 运行 cap in bundle context with bundle exec cap production deploy(使用 exactly 这个命令行,不要使用 bin/cap)