为什么更新rails gem还会更新几个非运行时依赖性gem?

问题描述 投票:0回答:1

我正在尝试将我的rails 4.2.11 gem更新到新的补丁4.2.11.1

当我运行bundle update rails(我在我的Gemfile中将rails版本更改为4.2.11.1)时,我的应用程序中还有一些其他宝石也会更新。参考this,我可以看到有十个依赖宝石,所以他们得到更新,这很好。

更新到更新版本的宝石是:

  • rake 12.3.2(最初为12.3.1),
  • concurrent-ruby 1.1.5(原为1.1.3),
  • mini_portile2 2.4.0(原为2.3.0),
  • 见1.10.1(W s 1.8.5)
  • globalid 0.4.2(原为0.4.1))

注意:其中很少是递归依赖,如railaities - > rake,但railties-4.2.11.1中指定的版本低于我最初的版本

我想了解为什么以及如何更新这些内容。

当前版本:ruby - 2.5.3,rails- 4.2.11,bundler - 1.17.1

ruby-on-rails ruby-on-rails-4 rubygems bundler
1个回答
0
投票

根据bundler的文档,https://bundler.io/man/bundle-update.1.html#DESCRIPTIONbundle update忽略了你的Gemfile.lock,因此将安装更新的gem的任何依赖项的最新版本(同时遵守更新gem的.gemspec)。

如果您不希望任何共享依赖项得到更新,请使用--conservative选项。 https://bundler.io/man/bundle-update.1.html#OPTIONS

bundle update rails --conservative
© www.soinside.com 2019 - 2024. All rights reserved.