什么是`rubygems-update`?

时间:2013-02-02 14:17:31

标签: ruby rubygems gem

宝石rubygems-update做了什么?手册说这是对gem的更新,但目前尚不清楚这意味着什么。我已经在我的计算机上安装了gem(版本1.8.25),但我能够在其上安装rubygems-update版本1.8.25(与gem相同的版本号),从而产生了宝石版本1.8.25。那是什么意思?这样做有什么区别:

gem update --system

update_rubygems

2 个答案:

答案 0 :(得分:4)

如您所知RubyGems是Ruby的包管理框架,gems是相同的更新。

gem update --system

这是正常的升级政策。 对于安装的旧版RubyGems,它分两步完成,步骤如下:

gem install rubygems-update
update_rubygems

答案 1 :(得分:3)

  1. gem ruby​​gems-update有什么作用?

    rubygems-update是包含gem命令的gem,它会安装到您的ruby bin目录中,因此您可以使用gem install等命令。

  2. 您可以使用与调用rubygems-update时出现的版本号相同的版本号安装gem gem --version是什么意思?

    ruby​​gems-update 的版本号是 gem命令在被要求时发出的版本号。如果您点击rubygems-update的内容,然后转到文件command_manager.rb,您会在第138行找到以下内容:

    when '-v', '--version'
    say Gem::VERSION
    terminate_interaction(0)
    

    那么,你安装rubygems-update的能力是什么意思?这导致了第三个问题:

  3. gem update --systemupdate_rubygems之间的区别是什么?

    很少。实际上,gem update --system [VERSION]只是以下两个命令的包装器:

    gem install rubygems-update -v [VERSION]
    update_rubygems
    

    要查看执行gem update --system的实际代码,请转到rubygems-update的内容,然后查看文件update_command.rb。你可以gem update --system -v得到它正在做的事情的详细输出。