我需要将 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:~$
安装 rubygems-update
gem install rubygems-update
update_rubygems
gem update --system
以 root 身份运行此命令或使用 sudo。
您只需执行以下操作即可更新所有宝石:
sudo gem update
或者:
gem update `gem outdated | cut -d ' ' -f 1`
我发现其他答案不准确/过时。最好是参考实际文档。
简短版本:在大多数情况下
gem update --system
就足够了。
您不应该盲目使用
sudo
。事实上,如果您不需要这样做,您很可能不应该使用它。
您可以将 RubyGems 更新到任何特定版本,如下所示:
gem update --system VERSION
例如:
gem update --system 2.3.0
如果省略
VERSION
,则更新到最新版本。
对我来说,简单地跑步就足够了
gem update
要仅更新一个 gem(及其依赖项),请执行以下操作:
bundle update gem-name
但是要单独更新 gem(不更新其依赖项),请执行以下操作:
bundle update --source gem-name
如果您使用 RVM,那么当从非常非常旧的 rubygems(例如 1.3.7)升级时,下面的命令对我很有帮助,该版本违背了本线程其他响应中提到的更新命令。
rvm rubygems <version>