`update_rubygems`和`gem update --system`之间的区别是什么?

7
这条命令和这条命令有什么区别:
gem update --system

还有以下这些命令:

gem install rubygems-update
update_rubygems
gem update --system

我本以为只需要前者就能更新到最新的RubyGems版本,但我发现很多参考资料(包括https://dev59.com/omYr5IYBdhLWcg3wfaWd#13626200)推荐使用后者。
2个回答

8
在一些旧版本的rubygems中,需要使用gem install rubygems-update; update_rubygems命令,但是在可预见的未来,只需要使用gem update --system就可以了。Rubygems 1.1和1.2存在错误,导致第一次无法使用gem update --system,因此必须使用这两个命令进行升级。之后没有理由立即运行gem update --system,因为rubygems已经更新,但这样做可以证明您将能够在未来运行该命令。在1.5.2之前的rubygems版本中,gem update --system命令后不能接受版本参数,因此必须使用您提供的前两个命令来安装任意版本的rubygems。您不希望立即运行gem update --system,因为它会撤销您刚刚完成的操作。更多信息请参见:https://github.com/rubygems/rubygems/blob/master/UPGRADING.md

0

当我执行这两个命令时,明显的区别是:

  • update_rubygems - 将 gem 更新到当前的 update_rubygems 版本。
  • gem update --system(不带版本选项)- 更新到最新版本。

例如,在以下情况下:

  • gem:3.0.6
  • update_rubygems:3.2.17
  • 最新的 gem:3.3.8

那么,

$ sudo update_rubygems --no-document
...
$ gem -v
3.2.17

$ sudo gem update --system --no-document
...
$ gem -v
3.3.8

这是今天的当前结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接