如何卸载旧版本的Ruby,这是明智之举吗?

时间:2013-08-19 11:42:56

标签: ruby linux

以root身份登录时,我输入

ruby -v
centOS服务器报告'ruby 1.9.3p392'。这就是我想要的。

但如果我放

rvmsudo ruby -v
那么我会得到'ruby 1.8.7'。我不想使用这个旧版本,这会导致我的gitlab安装出现问题。

我想删除它并确保只使用v1.9,我该怎么做?或者我应该把它留在那里,但尝试并要求某些用户使用不同的版本?

另外,如果这样做会搞砸任何事情,是否可能;

a。看看服务器上是否需要v1.8?

b。如果导致问题,请反向卸载吗?

3 个答案:

答案 0 :(得分:2)

在卸载之前,请注意1.8.7的修补程序级别以防万一。 rvmsudo ruby -v应返回ruby 1.8.7p234之类的内容。 p#{num}是你的补丁级别。

您应该可以使用rvm uninstall 1.8.7(或可能rvmsudo uninstall 1.8.7)卸载1.8.7。除了您编写的代码之外,系统上的任何内容都不应该使用此版本的Ruby ,因此它只会影响您的应用程序和脚本。

告诉使用1.8.7的其他方法的最佳方法是查找运行rvm的用户所拥有的脚本和crontabs。我不确定有哪种工具可以为你评估它。

在紧急情况下回滚的最佳方式是rvm install 1.8.7-p#{num_from_above}。或者,如果您在AWS这样的平台上或启用了rsync备份,那么您可以考虑拍摄一张快照,如果您进入头脑中,可以回滚到该快照。

希望这有用!

答案 1 :(得分:1)

正如你所提到的,root的ruby版本输出是ruby 1.9.3p392,在我的理解中你不会有任何问题。

当然,您可以安装多个版本的ruby,并在~/.rvm/rubies下找到它们。您还可以找到使用的默认版本。有关详细信息,请查看此处:set default ruby,其中介绍了如何设置默认ruby以及如何重置为系统默认值。

答案 2 :(得分:0)

尝试设置默认

$ rvm --default use 1.9.2

$ ruby -v

#ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]

删除你可以使用:

sudo apt-get remove ruby 1.8.7 

文档here& here