在OS X Lion上安装带有RVM的Ruby 1.9.2失败

时间:2011-07-27 19:55:06

标签: ruby rvm osx-lion

我在Lion上,我安装了xcode 4.1,rvm版本是1.6.31头

这就是我的所作所为:

$ rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

iconv dir指向Brew安装。

这是the output

这是the make.log

make.log底部的错误看起来像是在尝试使用本机libiconv而不是我指定的那个:

ld: in /Developer/SDKs/MacOSX10.7.sdk/usr/local/lib/libiconv.2.dylib, file was built for unsupported file format which is not the architecture being linked (x86_64) for architecture x86_64

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

当从10.5升级到10.6时,我必须完成所有已安装的源代码库,然后重新开始完全解决32位到64位的转换问题。您可能会发现需要强制重建所有brew包。

在MacPorts下,您只需删除/opt目录,抢救可能首先存在的所有数据库文件,然后重新安装所有内容。我确信Brew的程序类似。

有一种方法可以改变库加载路径,以设置优先级,但MacPorts似乎确实为您处理了这个问题。 otool可以帮助诊断正在加载的库:

otool -L `which ruby`

答案 1 :(得分:2)

  • 删除RVM,以便以后更清洁地安装:

    $ RVM implode

  • 删除XCode:

    $ sudo / Developer / Library / uninstall-devtools -mode = all

XCode被删除,因为在4.2中,至少所有对gcc的引用都链接到llvm-gcc(Apple)自己的gcc分支。 llvm不会编译ruby。

(以后可以随时从AppStore重新安装)

这将只安装简单的GCC编译器。如果您决定重新安装它,或者使用与删除XCode相同的命令进行简单删除,则XCode可以安全地覆盖它。

这会将几个文件安装到homebrew的主目录“/ usr / local / cellar”

  • 备份/usr/local/lib/libiconv.2.dylib,并将/usr/local/cellar/libiconv/1.14/lib/libiconv.2.dylib复制到/ usr / local / lib中的位置

此时你应该已经准备好使用RVM安装ruby 1.9.2:

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.14.1

(RVM实际上不支持--with-iconv-dir,如果你检查config.log文件,但它可能有一天......在这种情况下,复制libiconv将是不必要的)

现在去安装gems and rails以及其他你可能需要的东西。

答案 2 :(得分:0)

Ruby不会与llvm一起安装,而gcc现在与sym链接到llvm。简单的解决方法是使用

CC=gcc-4.2 rvm install 1.9.2-p290 --with-iconv-dir=/usr/local/Cellar/libiconv/1.13.1

强制它用真正的gcc构建。

答案 3 :(得分:0)

我发现这非常困难并禁止采用ruby 1.9。当然红宝石家伙可以安装这个吗?