我使用绑定器来管理我的rails应用程序中的依赖项,我有一个gem托管在git存储库中,包括如下:
gem 'gem-name', :git => 'path/to/my/gem.git'
为了更新这个gem,我执行了包更新,但它也更新了Gemfile中提到的所有gem。那么仅仅更新一个特定宝石的命令是什么呢?
我使用绑定器来管理我的rails应用程序中的依赖项,我有一个gem托管在git存储库中,包括如下:
gem 'gem-name', :git => 'path/to/my/gem.git'
为了更新这个gem,我执行了包更新,但它也更新了Gemfile中提到的所有gem。那么仅仅更新一个特定宝石的命令是什么呢?
当前回答
你只需要在命令行中指定gem名称:
bundle update gem-name
其他回答
你只需要在命令行中指定gem名称:
bundle update gem-name
如果你想要更新一个gem到一个特定的版本:
更改Gemfile中gem的版本 包更新
> ruby -v
ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-darwin19]
> gem -v
3.0.3
> bundle -v
Bundler version 2.1.4
它似乎与较新的版本的捆绑器(>= 1.14)是:
bundle update --conservative gem-name
具体操作方法如下:
bundle update --source gem-name
在这里你可以找到一个很好的解释
更新gem和依赖项:
bundle update gem-name
or
专门更新gem:
bundle update --source gem-name
还有一些可能产生副作用的例子。
更新
正如@Tim的回答所说,在Bundler 1.14中,官方支持的方法是使用bundle更新—保守的gem-name。