2012-12-04 267 views
2

我刚刚做了apt-get install ruby.1.9.1,安装成功。现在当我做ruby -v时,它仍然是1.8.7。为什么不使用新安装的版本?我不知道为什么,但我找不到通过谷歌如何管理没有rvm的红宝石版本。我知道rvm很棒,但在这种情况下它必须没有rvm。升级红宝石版本没有rvm

任何人都可以帮助我吗?

+3

它可能安装了它作为'ruby19'。您可以将旧的'ruby'可执行文件重命名为'ruby18',然后创建一个从'ruby'到'ruby19'的符号链接。 – Casper

+0

你知道这些文件在哪里可以找到吗?提前致谢! –

+3

键入'ruby'来查找ruby可执行文件的位置。输入'ruby19'来找到'ruby19'。它也可以被命名为'ruby1.9'或'ruby1.9.1'或类似的东西。 – Casper

回答

5

这仅仅是如何解决这个问题的一个例子。该路径和文件名可能是您的系统上的不同,但你应该从这里得到的想法:

# First locate the original ruby 
> which ruby 
/usr/bin/ruby # <- Your path might be different 

# Then locate ruby19 
> which ruby19 
/usr/bin/ruby19 

# Move the old ruby out of the way 
> mv /usr/bin/ruby /usr/bin/ruby_old 

# Link ruby to the new ruby (ruby19) 
# ln -s is used to create a new symbolic link. See "man ln" for more info. 
> cd /usr/bin 
> ln -s ruby19 ruby 

现在你应该有:

/usr/bin/ruby_old     # The old executable 
/usr/bin/ruby -> /usr/bin/ruby19 # The new link 
/usr/bin/ruby19     # The new executable 
+0

假设'〜/ bin'在他的'$ PATH'中,他也可以做​​''ln -s''这个ruby19''〜/ bin/ruby​​'' –

+0

@ AbeVoelker Thx。是的,这也会起作用。但是如果他希望系统安装ruby19,那么他需要将它链接到系统文件夹中。 – Casper

+0

好点,没有考虑到 –

-10

这是更好地通过RVM安装Ruby,并通过RVM切换到某个版本,

RVM使用Ruby-1.9.2 --default

+3

他说没有RVM – dyaa