【问题标题】:How to install newest version of gems not mentioned in Gemfile.lock with bundler如何使用捆绑器安装 Gemfile.lock 中未提及的最新版本的 gem
【发布时间】:2016-09-21 08:09:37
【问题描述】:

当我第一次将 gem 添加到项目的Gemfile 时,但我之前在处理另一个项目时安装了 gem,它使用 gem 的现有版本,而不是可用的最新版本 gem .

例如,使用捆绑器版本 1.11.2,我将 gem 'rubocop' 添加到项目的 Gemfile,运行 bundle install 导致它使用 RuboCop 版本 0.42.0,而不是当前版本(截至 2016 年 10 月 21 日) 0.44.1 版本:

rubocop (0.42.0)
  parser (>= 2.3.1.1, < 3.0)
  powerpack (~> 0.1)
  rainbow (>= 1.99.1, < 3.0)
  ruby-progressbar (~> 1.7)
  unicode-display_width (~> 1.0, >= 1.0.1)

运行 bundle update rubocop 导致使用 0.44.1 版本,而没有任何预先存在的 gem 更改其版本。这表明使用 RuboCop 0.44.1 版没有任何限制。

rubocop (0.44.1)
  parser (>= 2.3.1.1, < 3.0)
  powerpack (~> 0.1)
  rainbow (>= 1.99.1, < 3.0)
  ruby-progressbar (~> 1.7)
  unicode-display_width (~> 1.0, >= 1.0.1)

运行bundle install 时,对于Gemfile.lock 中未提及的gem,我怎么知道它要下载gem 的最新兼容版本,而不是使用恰好在本地机器?

我尝试查看http://bundler.io/v1.13/man/bundle-install.1.html,但似乎没有任何相关信息。

【问题讨论】:

  • 你是什么意思“在lockfile中没有提到”?如果它不在 lockfile 中,那么它就不是 gemfile 中的 gem 或它们的依赖项之一,因此 bundle 与它无关。
  • @SergioTulentsev 当我刚刚将 gem 添加到 Gemfile 并且还没有运行 bundle install 时,这将列出 Gemfile.lock 中的 gem。
  • 您确定捆绑程序没有安装最新版本?我认为是的。
  • bundle update
  • @Aetherus 更新一切。

标签: ruby bundler bundle-install


【解决方案1】:

如果您想拥有最新版本的 gem,请删除 Gemfile 中的版本并再次运行 bundle install

【讨论】:

  • 我在我的问题中添加了一个示例复制,表明这种方法行不通,至少对于我使用的捆绑器版本而言。
猜你喜欢
  • 1970-01-01
  • 2012-08-24
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 2021-04-11
相关资源
最近更新 更多