无法在OS X上安装Ruby

时间:2009-11-15 04:49:19

标签: ruby-on-rails ruby

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

在安装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 make install时,我会收到更多错误。当我“哪个红宝石”时,我得到/ 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所需)?

3 个答案:

答案 0 :(得分:2)

我总是发现macports是安装/管理我的ruby版本的最佳方式。我使用macports安装了1.8.6,1.8.7和1.9.1。

首先,抓住macports并安装它。

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

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

这会将所有macports可执行文件放在您的路径前面,因此系统会先找到它们。

最后,安装你想要的任何版本的ruby:

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

我还建议在安装ruby后从头开始安装rubygems。获取最新的rubygems版本here,然后从下载的rubygems目录中运行以下命令:

sudo ruby setup.rb

希望这对你有用。

答案 1 :(得分:1)

如果您在/ usr / bin中预装了雪豹而不是1.8.7

答案 2 :(得分:0)

另一种选择是使用VirtualBox并在VirtualBox上安装Ubuntu。我发现Ruby的安装和使用方式更加流畅,因为我浪费了大量时间让Ruby在Mac上正常工作。