您如何降级红宝石?


Answers:


39

2011年11月更新:既然RVM已经推出,请尝试运行rvm install rubygems <version>


36
嗯,好多了sudo gem update --system 1.4.2rvm install rubygems 1.4.2
MRM

198

由于旧的Rails版本,当从1.5.2降级到1.4.2时,这对我有用:

sudo gem update --system 1.4.2

有关降级/升级rubygems的更多信息:https : //github.com/rubygems/rubygems/blob/master/UPGRADING.md


1
谢谢!这对我有用。有一个旧的Rails 2.2.2项目抱怨没有这个。我仍然不知道为什么会这样(如果有人对此表示好奇,我会很好奇),但至少现在可以了。
布莱恩·阿姆斯特朗

1
@BrianArmstrong 2.3.x中还有一个bug,已在rails 2-3-stable分支中修复(请参见链接)。也许此修复程序将在2.2.x的下一版本中提供。
pseidemann

这似乎是最可靠的方法。
Marnen Laibow-Koser 2011年

这是否只针对特定的宝石呢?还是要在Rails 2和Rails 3开发之间切换,是否需要在rubygems之间来回切换?
阿罗纳2013年

@DJTripleThreat看到stackoverflow.com/a/7700388/616310rvm。当您使用rbenv它时,应该足以复制ruby安装。当您不使用rbenv或不rvm建议您使用时,rbenv因为否则您需要与系统红宝石来回
pseidemann

25

如果您使用的是RVM,则可以执行以下操作来删除当前的宝石红宝石,然后升级/降级宝石红宝石:

rvm install rubygems 1.4.2

只是用谷歌搜索,试图摆脱最近的rubygems更新引起的大量贬值警告,为我节省了很多麻烦,谢谢:)
Max Williams

15

这对我来说在OSX上有效,可以从1.5.0恢复到1.4.2

sudo gem uninstall -v '1.5.0' rubygems-update
sudo gem update --system --local

2

我在旧的Rails 3堆栈中遇到了类似的问题。当出现这些类型的问题时,我的建议是转到应用程序当前正在运行的生产服务器上,并检查它使用的是哪个rubygems版本:

gem -v

对我来说,它使用的是1.8.24。因此,当我为该应用安装旧的红宝石时,我需要做的就是降级当前由“ rvm install 1.9.3”生成的红宝石。我运行了以下命令:

 $ rvm install rubygems 1.8.24 --force

而且有效。注意我正在运行Ubuntu 14.04,并且我使用的服务器也是Ubuntu。


如果我想降级,则必须添加--force,否则rvm不会继续进行安装
Christian

-1

我使用以下命令返回到我的红宝石版本所需的gem版本:

rvm rubygems current

如果给出校验和错误,请尝试

rvm rubygems current --verify-downloads 1

那对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.