首页 > 解决方案 > Bundle Update 将 gem 中的几个 gem 降级

问题描述

阅读前的免责声明:我已经解决了这个问题,但我问是因为我仍然不知道它背后的原因。

我正在研究将资产拉入资产管道的旧宝石。我不确定宝石最初是如何创建的,我想它是用rails plugin new static_assets. 由于它是 gem,因此 Gemfile 并不太复杂(我没有对其进行任何更改):

source "http://rubygems.org"

gemspec

# jquery-rails is used by the dummy application
gem "jquery-rails"

但是 Gemfile.lock 显示了许多 gem 和依赖项。在大多数情况下,这些宝石似乎是最新的。

当我运行bundle update几个 gem 时,会回到更旧的版本;比如 Rails 5 到 Rails 3。

我相信我通过更新 Gemfile 解决了这个问题, gem 'jquery-rails', '~> 4.3', '>= 4.3.3' 但我想知道为什么会这样。

我不太熟悉 Gemfile.lock 是如何创建和更新的,但我的印象是它基于 Gemfile,从 Gemfile 中提取所有 gem 及其依赖项。如果 Gemfile.lock 中的所有 gem 都依赖于它,jquery-rails为什么它会如此单方面地将它们自动降级这么多?

标签: ruby-on-railsrubyrubygems

解决方案


推荐阅读