Ruby on Mac OSX通过Mac Ports

时间:2010-08-12 02:11:21

标签: ruby macos macports

我是Ruby和Mac OSX的新手,虽然我对Unix命令有相当多的经验。我刚刚通过MacPorts命令安装了Ruby 1.9(port install ruby​​19)。然后我需要从root做一个查找,以找出它的去向,结果是:/opt/local/var/macports/software/ruby19/1.9.1-p376_0/opt/local/bin/ruby1。 9。

当前版本的Ruby(1.8.6)通过/ usr / bin / ruby​​运行,它是/System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby的符号链接。是一个名为1.8的目录的符号链接。

我想将Ruby 1.9作为我的默认设置(以及像irb这样的相关工具),虽然我可以设法做到这一点,但我想知道是否有传统方式。我应该将MacPorts路径复制或链接到/System/Library/Frameworks/Ruby.framework/Versions/1.9然后将Current指向1.9吗? (我还要重命名或复制可执行文件:ruby1.9到ruby,irb1.9到irb等等)或者我应该吹掉/ usr / bin / ruby​​链接(和/ usr / bin / irb,等)并创建指向MacPorts版本的新的?

7 个答案:

答案 0 :(得分:28)

您可以在MacPorts 2.1.3下轻松使用端口选择命令

$sudo port select --set ruby ruby19

答案 1 :(得分:26)

改为安装nosuffix变体:

sudo port install ruby19 +nosuffix

现在,您的新ruby版本应该优先于预先安装的版本。

答案 2 :(得分:25)

我的建议:

$ port uninstall ruby1.9

然后按照:https://rvm.io/rvm/install/

然后:

$ rvm install 1.9.2
$ rvm --default 1.9.2

你甚至可能rvm install macruby玩Cocoa。

答案 3 :(得分:17)

在最新版本的macports(2.1.3或更高版本)中,您可以使用port select命令。

port select --list ruby
sudo port select --set ruby ruby19

对于早期版本的macport,您可以创建指向编号的ruby版本的符号链接。这是macports通常处理不同版本软件包之间切换的方式。

cd /opt/local/bin
sudo ln -s ruby1.9 ruby

答案 4 :(得分:4)

高度推荐RVM。这需要一些阅读,但是一旦你安装了它,你可以安装一个带有rvm install 1.9(或jruby,ree,1.8等)的红宝石,并用rvm 1.9在它们之间切换。每个ruby版本也都有自己的,完全隔离的rubygems。

答案 5 :(得分:2)

ruby1.9二进制文件应安装在/opt/local/bin中;如果不是,您可能没有激活端口。

使Ruby 1.9成为默认根目录的最简单方法是为ruby创建ruby1.9的别名。如果你正在使用Bash,你可以把它放在Bash配置文件中:

alias ruby='/opt/local/bin/ruby1.9'

答案 6 :(得分:2)

卸载ruby版本1.8:
sudo port uninstall ruby​​
安装ruby版本1.9:
sudo port install ruby​​19
重新打开终端