我是Ruby和Mac OSX的新手,虽然我对Unix命令有相当多的经验。我刚刚通过MacPorts命令安装了Ruby 1.9(port install ruby19)。然后我需要从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版本的新的?
答案 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 ruby19
重新打开终端