我想知道如何在Ubuntu 9.04上安装最新版本的Ruby。现在我可以很好地完成./configure
和make
这些东西,但我想知道:如何避免与包装系统发生冲突?例如,如果我安装的其他一些软件包依赖于Ruby,那么软件包管理器是否会安装(过时的)Ruby软件包,并且在最坏的情况下会覆盖我的文件?
所以我想我需要一些方法告诉Ubuntu事实上已经安装了Ruby?
答案 0 :(得分:61)
避免头痛并使用RVM(Ruby Version Manager)
请记住,Rails 3最适合Ruby 1.9.2。 Ruby 1.9.2在1.9.1中修复了很多错误,并且比运行1.9.1更好。
使用RVM安装1.9.2是轻而易举的事。
答案 1 :(得分:34)
sudo apt-get install ruby1.9.1-full
答案 2 :(得分:29)
运行后
sudo apt-get install ruby1.9.1-full
它的解决方案是运行以下命令:
sudo update-alternatives --config ruby
然后你会得到这个输出:
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/ruby1.8 50 auto mode
1 /usr/bin/ruby1.8 50 manual mode
2 /usr/bin/ruby1.9.1 10 manual mode
Press enter to keep the current choice[*], or type selection number: 2
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
此解决方案可归功于回答https://askubuntu.com/questions/91693/how-do-you-uninstall-ruby-1-8-7-and-install-ruby-1-9-2的人。目前ruby1.9.1包实际上是ruby 1.9.2。
答案 3 :(得分:7)
我这样做的方法是使用checkinstall构建它,让你构建一个deb包。所以我下载了Ruby 1.9.1源代码,做了“configure”然后“make”,做了一个“checkinstall”,并将软件包名称设为ruby1.9,所以它安装好像是ruby 1.9的新版本(因为它应)。
答案 4 :(得分:4)
我从this网站获得了Ruby特定信息。 您可以使用--prefix = / path开关将大多数软件安装在不同的目录中。通常在/ opt /中为每个人安装在您的电脑上,如果只是为您安装在$ HOME中。
在/ opt:
中安装$ ./configure –prefix=/opt/ruby
$ make install
如果您想使用/ opt安装的ruby,请编辑〜/ .bashrc并添加
export PATH=/opt/ruby/bin/:$PATH
如果您不想将自定义Ruby构建作为默认值,可以将其添加到〜/ .bashrc而不是前一个命令
function setupruby {
export PATH=/opt/ruby/bin/:$PATH
}
答案 5 :(得分:4)
这是安装1.9.1并使其默认的简便方法: http://michalf.me/blog:make-ruby-1-9-default-on-ubuntu-9-10-karmic-koala
答案 6 :(得分:1)
我为ruby 1.9.2创建了一个启动板ppa。详情请见下面的链接
http://www.humbug.in/2010/launchpad-ppa-for-ruby-1-9-2-and-some-ruby-bindings/
sudo add-apt-repository ppa:pratikmsinha/ruby192+bindings
cd /etc/apt/sources.list.d/; sudo mv pratikmsinha-ruby192+bindings-lucid.list pratikmsinha-ruby192bindings-lucid.list
sudo aptitude update
sudo aptitude install ruby1.9.2
答案 7 :(得分:0)
通过Synaptic看来,您甚至不需要处理Multiverse或第三方存储库。但由于sudo apt-get install ruby
当前为ruby1.8
安装了别名,因此您应该手动或通过存储库明确安装ruby1.9
,并自行创建别名ruby
。
您可能希望将二进制文件放在/usr/bin
中,因为无论如何这都是分发所在的位置。但是你的PATH上的任何地方都可以。