2009-11-15 147 views
1

我正在尝试遵循Ruby on Rails from Hivelogic.com的安装说明。我之前在安装OSX时没有遇到过麻烦。这次在Snow Leopard上安装时遇到了麻烦。无法在OS X上安装Ruby

在安装Ruby的“make”步骤结束时,出现一些与readline相关的错误。不知道这是否重要,但他们在这里:

readline.c: In function ‘username_completion_proc_call’: 
readline.c:730: error: ‘username_completion_function’ undeclared (first use in this function) 
readline.c:730: error: (Each undeclared identifier is reported only once 
readline.c:730: error: for each function it appears in.) 
make[1]: *** [readline.o] Error 1 
make: *** [all] Error 1 

当我尝试sudo使安装,我得到更多的错误。当我“ruby”时,我得到/ usr/local/bin/ruby​​,这是正确的。但只要我尝试使用ruby,我就会收到以下消息:“您需要使用Rosetta软件运行ruby。Rosetta安装程序位于Mac OS X安装光盘的”可选安装“中。”这很奇怪,但我安装了Rosetta,并且能够继续。

除了:我仍然安装了Ruby1.8.6(不是1.8.7)。 “ruby -v”报告1.8.6。 1.8.6是从本机上的Leopard安装迁移的版本(我假设)。换句话说:我的新Ruby在哪里?我如何获得正确安装的1.8.7(由当前版本的Rails所要求)?

+1

在superuser.com上这可能会更好。 – 2009-11-15 04:51:44

回答

1

如果你有雪豹比1.8.7被预先安装在/ usr/bin中

+0

好的,如果我改变我的$ PATH从前面删除/ usr/local/bin,1.8.7是否会自动启动? – Andrew 2009-11-15 05:04:00

+0

是的。更高效的你可能需要适当的宝石,所以安装所需的pacakges也是如此 – Friedrich 2009-11-15 08:01:17

2

我总是发现MacPorts的安装/管理我的红宝石版本的最好方式。我有1.8.6,1.8.7和1.9.1全部使用macports安装。

首先,抓住macports并安装它。

然后,更新(或创建)您的〜/ .bashrc文件包括以下行:

export PATH=/opt/local/bin:$PATH 

这会将所有的MacPorts可执行文件在您路径的前面,所以你系统会先找到他。

最后,安装任何您想要的红宝石版本:

sudo port install ruby186 
sudo port install ruby 
sudo port install ruby19 

安装红宝石后,我也从无到有建议安装RubyGems的。获取最新的RubyGems释放here,然后从下载RubyGems的目录中运行以下命令:

sudo ruby setup.rb 

希望这个作品送给你。

0

另一种选择是使用VirtualBox并在VirtualBox上安装Ubuntu。 Ruby的安装和使用更加顺畅,我发现,因为我浪费了很多时间试图让Ruby在Mac上正常工作。