我正在尝试上传我的 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 外,我还在使用:
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 版本问题吗?
感谢您的帮助,
安东尼
最佳答案
请按照正确的顺序执行所有步骤(不要跳过任何步骤,因为您已经这样做了)
cd
进入您的项目目录 bundle exec gem uninstall capistrano -a
删除所有 capistrano 版本 来自您的捆绑包 gem uninstall capistrano -a
删除所有 capistrano 版本 来自您的系统 .请注意,如果您收到错误消息 bundle install
bundle exec gem list capistrano
它应该输出名称包含“capistrano”的所有已安装 gem。你应该有 只有一个版本卡皮斯特拉诺 gem lock 3.x.x
,请检查您的文件 config/deploy.rb 和 config/deploy/*.rb说明,并确保它与步骤 5 中显示的安装版本匹配 bundle exec cap production deploy
在包上下文中运行 cap (使用 正好 这个命令行,不要使用 bin/cap)关于ruby-on-rails - Capistrano 版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41987342/