1

操作系统:Mac OS X 10.8.2 XCode:最新安装了命令行工具(版本 4.6) Rails:版本 3.2.3

我正在尝试为我正在处理的项目生成路由(定期这样做),当我收到一条错误消息时,建议我执行捆绑安装和捆绑执行。我做到了,这一次,在编译 JSON Gem(版本 1.7.7)时,这个过程中断了。

对 StackOverflow 进行了一些研究,建议更新 XCode 的命令行工具,我也这样做了,但这并没有解决问题。

我尝试单独安装 JSON 版本 1.7.7,但失败了,告诉我查找错误日志:

~/.rvm/gems/ruby-1.9.3-p125/gems/json-1.7.7/ext/json/ext/generator/gem_make.out

内容如下:

/Users/mine/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile

make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1

我寻找 /usr/bin/gcc-4.2,确实,它不存在。但是,当我这样做时:

ls -l /usr/bin/gcc

这是我得到的:

lrwxr-xr-x  1 root  wheel  12 Feb 14 15:49 /usr/bin/gcc -> llvm-gcc-4.2

我该如何解决这个问题?

4

2 回答 2

2

我认为问题在于,当您安装 Xcode 命令行工具时,gcc 与 llvm 进行了符号链接,而 llvm 无法始终正确编译 Ruby 和 gems。

如果您直接安装autoconfautomakegcc(或通过Homebrew之类的工具),您应该能够修复编译器错误。

于 2013-02-15T00:41:39.623 回答
0

问题是你用来编译你安装的 ruby​​ 版本的 gcc 作为 xcode 升级的一部分被删除了。使用 RVM 重建您的 ruby​​(您可能还想升级到最新版本)。一旦你这样做了,你应该没有问题构建带有本机扩展的 gem。

于 2013-02-15T00:46:37.037 回答