使用RVM在Leopard 10.5.8上更新到Ruby 1.9.2

时间:2011-04-24 20:03:53

标签: ruby rvm osx-leopard ruby-1.9.2

似乎有很多关于通过雪豹迁移到1.9.2的文件,但在Leopard上并没有特别多。

运行Mac OS X Leopard 10.5.8 rvm 1.6.3 xcode 3.1.4

我很难安装rvm,但是使用了这个fix并安装了rvm。我输入:

$ rvmsudo rvm install ruby-1.9.2-head
Install of ruby-1.9.2-head - #complete

(如果我在没有sudo命令的情况下尝试安装,我会失败)要切换默认版本:

$ rvmsudo rvm --default use ruby-1.9.2-head
Using /usr/local/rvm/gems/ruby-1.9.2-head

$ ruby -v
ruby 1.8.7 (2011-02-18 patchlevel 334) [i686-darwin9]

当我在没有sudo命令的情况下将其设置为默认值时。

rvm --default use ruby-1.9.2-head

我收到一个以:

结尾的错误日志
cp: /usr/local/rvm/bin/rdoc: Permission denied
cp: /usr/local/rvm/bin/ri: Permission denied
cp: /usr/local/rvm/bin/ruby: Permission denied
cp: /usr/local/rvm/bin/testrb: Permission denied

然后我输入

$ ruby -v
ruby 1.9.2p188 (2011-03-28 revision 31204) [i386-darwin9.8.0]

但当我关闭终端并重新开启时,它又恢复到1.8.7

有关如何将此ruby安装作为我的默认设置的任何想法?

这是我的bash个人资料

PS1="\u$ "
alias ll="ls -lahG"

export PATH="/usr/local/rvm/rubies/ruby-1.9.2-head/bin:/usr/local/bin:/usr/loca$

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loa$

##
# Your previous /Users/mikalfm/.bash_profile file was backed up as /Users/mikal$
##

# MacPorts Installer addition on 2011-04-23_at_21:38:56: adding an appropriate $
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
# Finished adapting your PATH environment variable for use with MacPorts.


# MacPorts Installer addition on 2011-04-23_at_21:38:56: adding an appropriate $
export MANPATH=/opt/local/share/man:$MANPATH
# Finished adapting your MANPATH environment variable for use with MacPorts.

更新

<击>的解决。 我从'哪个红宝石'(1.8.7版本)转到文件位置 备份文件并将其删除。 现在ruby -v返回 ruby 1.9.2p188(2011-03-28修订版31204)[i386-darwin9.8.0]

请参阅下面的评论,了解为什么这是一个坏主意。


更新2

解决,真的除非我当然做了一些愚蠢的事情。 因此,在遵循线程的指示后,我清除了原始问题中的所有Sudo问题。我是通过使用implode命令卸载RVM,删除文件夹并重新安装而不使用任何sudo命令来完成的。

以下问题是我可以强制 rvm一次只使用1.9.2作为一个会话的默认值。我只是通过读取这个使用$ echo $PATH命令提议的stackthread force rails to use 1.9.2来解决这个问题。我做到了,它看起来与我在bash配置文件中的想法完全不同。

看起来像     /opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/mikalfm/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

事实证明,我认为.bash_profile中的几行被##注释掉了而不是。 export PATH=/opt/local/bin:/opt/local/sbin:$PATHexport MANPATH=/opt/local/share/man:$MANPATH。它们直接与我认为的$ PATH export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

相矛盾

我从个人资料中删除了这些行。我想我可以添加它们,如果有依赖,我需要再次使用Mac端口。再一次,有人告诉我这是否是错误的方法,但即使我开始一个新的终端,它现在也适用于我。

3 个答案:

答案 0 :(得分:2)

  

解决。我从'which ruby​​'(1.8.7版本)转到文件位置备份文件并将其删除。现在ruby -v返回ruby 1.9.2p188(2011-03-28修订版31204)[i386-darwin9.8.0]

不,不!

Mac OS在/usr中安装的Ruby版本由Apple拥有并安装供其使用。 Apple安装的应用程序使用它,你可能会破坏它们。

如果您运行find /usr -name '*.rb',您会发现Apple使用的许多文件,这些文件不属于正常的Ruby安装。

答案 1 :(得分:1)

这不是10.5的问题,我也在我的MB专业版上使用它。您需要学习停止使用sudo,当您不在“Mikal”的范围内时了。我很少再使用它了。

我对rvmsudo不太熟悉。

时会发生什么
rvm list    
rvmsudo rvm list

我的建议,卸载以root身份安装的rvm(使用sudo),重试并按照rvm.beginrescued.com上的指南进行操作 从.bash_profile中删除PATH ruby​​1.9.2 / bin以避免混淆。让rvm处理它,并保持sudo和rvmsudo(我从未使用过后者)。

rvm install 1.9.2
rvm use 1.9.2 --default
rvm list #see your rubies

应该足够了。希望它有所帮助。

答案 2 :(得分:-2)

也许你应该添加:

rvm use 1.9.2

到您的.bash_profile文件:)