如何升级Ruby on Fedora

如何升级Ruby on Fedora,ruby,rvm,fedora,Ruby,Rvm,Fedora,我正在尝试在Fedora13上将Ruby升级到1.8.7是的,我知道它已经过时了。我对Ruby世界有点陌生,但到目前为止,我已经做到了: ~$ yum -y install rubygem-rvm ... ~$ rvm-install ... ~$ rvm install 1.8.7 /usr/local/rvm/rubies/ruby-1.8.7-p302, this may take a while depending on your cpu(s)... ruby-1.8.7-p302 -

我正在尝试在Fedora13上将Ruby升级到1.8.7是的,我知道它已经过时了。我对Ruby世界有点陌生,但到目前为止,我已经做到了:

~$ yum -y install rubygem-rvm
...
~$ rvm-install
...
~$ rvm install 1.8.7
/usr/local/rvm/rubies/ruby-1.8.7-p302, this may take a while depending on your cpu(s)...

ruby-1.8.7-p302 - #fetching 
ruby-1.8.7-p302 - #extracted to /usr/local/rvm/src/ruby-1.8.7-p302 (already extracted)
ruby-1.8.7-p302 - #configuring 
ruby-1.8.7-p302 - #compiling 
ruby-1.8.7-p302 - #installing 
ruby-1.8.7-p302 - #rubygems installing to ruby-1.8.7-p302
ruby-1.8.7-p302 - adjusting #shebangs for (gem).
ruby-1.8.7-p302 - #importing default gemsets (/usr/local/rvm/gemsets/)
Install of ruby-1.8.7-p302 - #complete 
~$ rvm use 1.8.7 --default
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]
~$ rvm use 1.8.7
Using /usr/local/rvm/gems/ruby-1.8.7-p302
~$ ruby -v
ruby 1.8.6 (2010-09-02 patchlevel 420) [x86_64-linux]
除了Ruby 1.8.6仍然是默认版本之外,一切似乎都运行良好

将默认Ruby版本切换到1.8.7还缺少哪些步骤

编辑:似乎rvm中有一些非常不直观的行为。如果您没有安装某些软件包,那么当您使用rvm安装特定的Ruby版本时,rvm不仅不会构建或安装该Ruby版本,甚至不会告诉您它没有构建Ruby。我注意到在/usr/local/rvm/gems/ruby-1.8.7-p302中没有bin目录……这很不寻常,因为ruby是二进制的。所以我仔细检查了文档,找到了要安装的Fedora软件包列表:

yum install -y bash curl git
yum install -y gcc-c++ patch readline readline-devel zlib zlib-devel libyaml-devel libffi-devel
yum install -y iconv-devel
安装完这些之后,运行rvm install 1.8.7正确地构建了一个Ruby二进制文件。奇怪的是,运行rvm use 1.8.7-default仍然没有更新默认的Ruby版本,所以我这样做了:

cp /usr/bin/ruby /usr/bin/ruby-1.8.6
rm -f /usr/bin/ruby
ln -s /usr/local/rvm/rubies/ruby-1.8.7-p302/bin/ruby /usr/bin/ruby

确保在运行rvm use 1.8.7的同一个shell中运行ruby-v。我不确定-default选项的作用,所以请尝试将其关闭。

不是肯定的,这可能是一些事情。我猜是这样的

您可能需要切换链接器以指向新安装的快捷方式文件/usr/bin/。查找新版本ruby的安装位置。如果/usr/bin/中的ruby链接器没有指向这个新安装,那么右键单击ruby可执行文件创建一个新链接,并将其放置在/usr/bin/中


这是我唯一的猜测,我在安装新版本的python时遇到了这个问题。

结果没有差别。我更新了我的问题,使之更清楚。我对手动符号链接犹豫不决,因为1它应该自动完成类似的操作,所以我会忽略使用rvm可能会破坏的内容,2我不想破坏我的1.8.6安装,因为我可能仍然需要它。啊,我明白了。这是有道理的。当我安装python时,它是Enthow发行版,所以它不是通过yum或类似的方式安装的。祝你好运。在安装rvm后启动一个新的shell?请将rvm信息的输出附加到你的问题中。默认情况下,RVM会将Rubyies安装到~/.RVM中,因此看起来您正在进行系统范围的安装。这是你的意图吗?此外,通过执行RVM get head,您应该确保RVM版本是最新的。关于加载软件包,RVM和yum或apt-get并不是一种直观的匹配。我建议使用上的说明进行安装,因为知道yum应该做什么很好。您可以使用rvm要求来查看需要安装哪些软件包。是否附加了路径修饰符[-s$HOME/.rvm/scripts/rvm]]&&&&$HOME/.rvm/scripts/rvm是否根据rvm安装文档将rvm功能加载到~/.bash_配置文件并重新启动终端?