1

似乎有很多关于通过雪豹迁移到 1.9.2 的文档,但特别是关于 Leopard 的文档并不多。

运行 Mac OS X Leopard 10.5.8 rvm 1.6.3 xcode 3.1.4

一开始我很难安装 rvm,但使用此修复程序并安装了 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.

更新

解决了。 我从'which ruby​​'(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 作为一个会话的默认值。我刚刚通过阅读这个 stackthread force rails to use 1.9.2来解决这个问题,有人建议使用该$ echo $PATH命令。我做到了,它看起来与我认为的 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 Ports,我可以将它们重新添加。同样,有人让我知道这是否是错误的方法,但即使我启动一个新终端,它现在也适用于我。

4

3 回答 3

2

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

不不不!

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

如果您运行find /usr -name '*.rb',您会发现许多 Apple 使用的文件,它们不是正常 Ruby 安装的一部分。

于 2011-04-24T21:45:10.113 回答
1

这不是10.5的问题,我也在我的MB pro上使用它。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

应该足够了。希望能帮助到你。

于 2011-04-24T22:34:48.280 回答
-2

也许你应该添加:

rvm use 1.9.2

到您的 .bash_profile 文件:)

于 2011-04-24T23:23:32.300 回答