226

我需要将 gems 升级到 1.8 我尝试安装相应的 debian 软件包,但它似乎没有升级

anujm@test:~$ dpkg -l |grep -i rubygem
ii  rubygems                               1.3.5-1ubuntu2                                  package management framework for Ruby libraries/applications
ii  rubygems-lwes                          0.8.2-1323277262                                LWES rubygems
ii  rubygems1.8                            1.3.5-1ubuntu2                                  package management framework for Ruby libraries/applications
ii  rubygems1.9                            1.3.5-1ubuntu2                                  package management framework for Ruby libraries/applications
anujm@test:~$ 


anujm@test:~$ gem
gem     gem1.8  gem1.9  
anujm@test:~$ sudo gem1.8 install serve
ERROR:  Error installing serve:
        multi_json requires RubyGems version >= 1.3.6
anujm@test:~$
4

9 回答 9

494

安装 ruby​​gems 更新

gem install rubygems-update
update_rubygems
gem update --system

以 root 身份运行此命令或使用 sudo。

于 2012-11-29T12:49:03.983 回答
62

您只需执行以下操作即可更新所有宝石:

sudo gem update

于 2016-03-22T09:00:48.753 回答
22

或者:

gem update `gem outdated | cut -d ' ' -f 1`
于 2015-03-08T09:34:25.420 回答
16

我发现其他答案不准确/过时。最好是参考实际文档

短版:在大多数情况下 gem update --system就足够了。

你不应该盲目使用sudo. 事实上,如果您不需要这样做,您很可能不应该使用它。

于 2017-11-03T23:53:22.763 回答
14

您可以像这样将 gem 更新到任何特定版本,

gem update --system 'version'

gem update --system '2.3.0'
于 2015-09-16T10:22:09.080 回答
5

我不会使用 debian 包,看看RVMRbenv

于 2012-11-29T12:47:31.233 回答
5

对我来说,只需运行就足够了

gem update
于 2017-01-24T09:05:44.197 回答
1

要仅更新一个 gem(及其依赖项),请执行以下操作:

    bundle update gem-name

但是要单独更新 gem(不更新它的依赖项),请执行

    bundle update --source gem-name
于 2018-01-17T22:02:51.823 回答
0

如果您使用的是 RVM,那么在从一个非常非常古老的 ruby​​gems(例如 1.3.7)升级时,下面的命令对我有很大帮助,因为该 ruby​​gems 违反了该线程中其他响应中提到的更新命令。

rvm rubygems <version>
于 2021-05-27T00:04:06.177 回答