如何在Ubuntu上将Ruby 1.9设为默认的Ruby版本?

57

在Ubuntu 9.04上,有没有办法安装Ruby 1.8作为ruby1.8(或完全卸载它),并使Ruby 1.9成为默认的ruby

5个回答

107

我不是很确定,但也许这可以帮助:

update-alternatives --config ruby

...这里是非交互式、可脚本化的方法:

update-alternatives --set ruby /usr/bin/ruby1.9.1

您可以通过以下命令了解可用的替代方法和对应的 /usr/bin/... 路径:

update-alternatives --query ruby

3
谢谢,直接使用并不奏效,但搜索update-alternatives ruby找到了http://krnjevic.com/wp/?p=209,其中有一份操作指南。 - Martin DeMello
1
正确处理此问题的方法是使用由henry74提供的RVM。强烈不建议直接操作Ubuntu,因为这会在以后增加你的麻烦。 - Amin Ariana
14
使用RVM并不是“正确的方式”,而是“一种方式”。在/usr/local/bin中安装本地的Ruby是标准的方法,需要调整路径以先搜索/usr/local/bin然后才是/usr/bin - the Tin Man
5
重要的是切换你的 gem 版本:sudo update-alternatives --set gem /usr/bin/gem1.9.1 - richardkmiller
2
"update-alternatives" 显示 "ruby 没有可选项"? - xji
@richardkmiller:更好的做法是将 gem 版本设置为 Ruby 版本的“--slave”,就像博客文章中所示。 - GhostLyrics

6

谢谢 - 我确实已经转换到了RVM,并发现它非常愉快地使用。 - Martin DeMello
@henry74:谢谢你的推荐和链接!:) - Ryan Bigg

3

您可以完全移除Ruby 1.8,方法如下:

sudo apt-get remove libruby1.8 ruby1.8 ruby1.8-dev rubygems1.8

之后,你将只安装了Ruby 1.9。


2
sudo \curl -L https://get.rvm.io | bash -s stable --ruby --rails

这将安装最新版本的Ruby(和Rails),并允许您避免Ubuntu RVM的故障,请参见https://dev59.com/D2ox5IYBdhLWcg3wqmBt#9056395

如果您选择此路线,请删除Ubuntu安装的版本以及相关软件包,如bundle

详细信息请参阅:https://rvm.io/rvm/install/

(注意:这是henry74帖子的TL;DR版本。)


哦,是的,我肯定是自己安装的。每次我尝试通过系统包管理器在Arch或Ubuntu上安装特定语言的软件包管理器时,我最终都会后悔。 - Martin DeMello

-2

试试这个:

sudo apt-get install ruby1.9.1 rubygems1.9.1

或尝试从源代码构建。这在我的Ubuntu 9.04上有效,并在重新启动后1.9成为标准的Ruby版本。


我已经通过update-alternatives使其工作,如此处所述:http://krnjevic.com/wp/?p=209 - Martin DeMello
1
我不明白你的意思 - 我已经安装并重新启动了。你可以从源代码或仓库安装ruby1.9。这是预期的行为。我没有坐下来咕哝巫术咒语,狂热地输入我认为看起来漂亮的命令。 - user214028

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接