【问题标题】:Auto upgrade Gem Versions in GemFile with Rails upgrade使用 Rails 自动升级 GemFile 中的 Gem 版本
【发布时间】:2016-11-25 07:10:48
【问题描述】:

我正在将我的 Rails 应用程序升级到 5.0(当前最新的 5.0.0.1),我还将我的 Ruby 版本升级到 2.3.0p0 并将捆绑器版本升级到 1.13.6

现在当我运行 bundle update 时,它会抛出类似的错误

devise (= 4.2.0) was resolved to 4.2.0, which depends on
      railties (< 5.1, >= 4.1.0)

所以,我想知道是否有任何自动方法可以自动更新我在 gem 文件中的 gem 版本,因为我在 GemFile 中有大约 100 个 gem

【问题讨论】:

  • 捆绑更新也可以工作
  • @WishZone 它对我不起作用
  • 然后你必须删除 gem.lock 文件然后做 bundle ...它将更新所有依赖项
  • 如果有一个 gem 冲突,你也可以做 bundle update devise
  • 删除 Gemfile.lock 也不起作用

标签: ruby-on-rails ruby rubygems ruby-on-rails-5


【解决方案1】:

我会选择

$ bundle update

因为如果您在 Gemfile 中指定的 gem 没有指定版本,它会使用最新可用的 gem 更新您的 gem,并且使用 '~>' 指定版本的 gem 上次修补的版本,例如从 1.0.1 到 1.0 .2.

另外请注意,bundle install 只会安装 gem 文件中指定的 gem 或缺少的 gem,其中 bundle update 将升级所有使用 bundler 管理的 gem。

最终,但这只是我的意见,我会等待升级到 Rails 5,因为并非所有 gem 都经过实际测试和升级以与 Rails 5 一起使用。

【讨论】:

    【解决方案2】:

    你可以做以下事情

    • 删除 GemLock 文件并执行bundle install

    • bundle update

    如果还没有修复

    • 删除您在 GemFile 中提到的设计版本以及 bundle install 以便它会自动选择新版本

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-17
      相关资源
      最近更新 更多