Rails  升级 xcode 后,造成某些 gem 无法编译通过

outman · 2012年04月23日 · 最后由 y_ding 回复于 2012年12月08日 · 5649 次阅读

造孽啊,升级 xcode 后,貌似 gcc 也被升级了。造成 rails 的某些 gem(json 1.6.6)无法在本地编译。bundle install 直接报错。 make: /usr/bin/gcc-4.2: No such file or directory make: *** [generator.o] Error 1

有没有很好的解决办法。

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

我正在尝试这种解决方案:https://github.com/kennethreitz/osx-gcc-installer 不知道是否可行。

#1 楼 @kfll 我试哈。谢谢

@outman xcode 不是把 gcc 升级了,而是把 gcc 删除了。xcode 现在用的是 LLVM,Apple 自家的 C 编译器。 gcc 很好,而且和 Linux 兼容性好,我一直用

@camel 怪不得现在 xcode 编译器做的事情越来越多了。自从在编译器级别加入 ARC 后,直接不用手动 release ,retain 了,刚开始还真有点不习惯啊。据说以后属性都不用在.m 文件中加入那个标示符了。

我最后还是采用了这个解决方案,https://github.com/kennethreitz/osx-gcc-installer 比较保险。 现在一切又正常了。 感谢大家。

$ brew tap homebrew/dupes $ brew install apple-gcc42 $ sudo ln -s /usr/local/bin/gcc-4.2 /usr/bin/gcc-4.2

@esay 顶这个,这个是靠谱的,应该用 homebrew 的都会选择这个吧。 rvm requirements 命令,然后看提示就知道了

直接 ln 这两个, 现在还没出过问题. 不需要特殊安装什么 apple-gcc42.

/usr/bin/gcc-4.2 -> llvm-gcc-4.2
/usr/bin/g++-4.2 -> /usr/bin/llvm-g++-4.2

llvm 编译的,会出问题的。我已经遇到过两次了,尤其是 debug 组件安装的时候

看来遇到这个问题的人不少,gem 不能从自身来改善这个问题?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号