如何在没有安装Xcode的Mac OS X Mountain Lion上安装Ruby 1.9.3?

33

我想了解在不需要 Xcode 的情况下,在 OS X 10.8 Mountain Lion 上构建 Ruby 1.9.3 开发机的其他方法。

在我撰写这个问题的时候,Mountain Lion 已经变成 Golden Master 版本,因此可以被认为是最终版本。而对于 Xcode,它仍然是预览版。

RVM 建议安装 osx-gcc-installer 代替 Xcode,但我不想弄乱我的系统。

在 Mountain Lion 上最干净的方法是安装 Ruby 1.9.3 而无需 Xcode?

3个回答

49

osx-gcc-installer 是替代 Xcode 安装 Ruby 1.9.3 的好选择。

以下是我遵循的步骤:

  1. 在此处下载并安装 osx-gcc-installer 的最新版本(GCC-10.7-v2 即可):https://github.com/kennethreitz/osx-gcc-installer
  2. 像往常一样安装 RVM 并将 1.9.3-head 选为默认的 Ruby 安装:https://rvm.io/rvm/install/
  3. 安装 Homebrew:https://github.com/mxcl/homebrew/wiki/installation
  4. 安装 libksba 以解决 Ruby 1.9.3 的某些依赖关系:brew install libksba

就这样!你现在应该已经成功地在 Mountain Lion 上安装了 Ruby 1.9.3。

如果您需要其他软件包,请通过 Homebrew 进行安装,例如 Imagemagick:brew install imagemagick

可能需要 XQuartz 才能使 Homebrew 正常工作,因为自 Mountain Lion 以来,Apple 不再提供 X11。你可以在此处下载它:http://xquartz.macosforge.org/trac/wiki

编辑:

现在(自 7 月 29 日起)可以获得适用于 Xcode 4.4 的命令行工具。

因此,新步骤如下:

  1. 下载并安装Xcode 4.4的命令行工具(无需下载Xcode):https://developer.apple.com/downloads/index.action
  2. 安装Homebrew:https://github.com/mxcl/homebrew/wiki/installation
  3. 安装automake:brew install automake
  4. 像往常一样安装RVM,并选择1.9.3-head作为默认的Ruby安装版本:https://rvm.io/rvm/install/

可选步骤:对于某些组件(例如Imagemagick),您可能需要XQuartz,因此请下载并安装XQuartz:http://xquartz.macosforge.org/trac/wiki


我也需要XQuartz来使用fink和MacPorts(好吧,不是“必须”,但在配置中已经检查过了)。XQuartz在Mountain Lion下似乎可以正常工作。 - JavaCoderEx
@holyredbeard 在Mountain Lion上,brew install automake对我来说安装得很好。 - Patrick
1
rvm.io网站很难看。对于第4步,我遵循了这里的说明:http://octopress.org/docs/setup/rvm/,然后再次使用“gem install rails --version'~> 3.2.0'”安装了rails。 - Justin

1

我必须添加

export CPPFLAGS=-I/opt/X11/include

以及

export CC=/usr/local/bin/gcc-4.2

由于 readline 的编译错误(例如在 make.log 文件中出现的“readline.c: In function ‘readline_s_vi_editing_mode_p’:”之类的错误),我仍然无法解决问题,RVM readline page 也没有提供帮助,因此我运行了以下命令:

brew install readline

跟随着

rvm install 1.9.3 -C --with-readline-dir=/usr/local/Cellar/readline/6.2.4

1
我还需要添加以下内容:
export CC=/usr/bin/gcc-4.2
以便使苹果命令行工具与rvm配合使用。如果没有这个,我会遇到重复的llvm问题:
提供的CC(gcc)是基于LLVM的,它还没有完全支持ruby和gems,请阅读rvm要求。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接