在小牛上安装任何版本的ruby和RVM

时间:2013-10-25 16:11:39

标签: ruby rvm osx-mavericks

我刚刚升级到osx mavericks,我想安装ruby 2.0,但我收到configure: error: cannot run C compiled programs.错误。

我使用rvm get stable更新rvm,然后键入rvm install 2.0.0并收到错误,指示我查看日志文件。日志文件包含:

configure: WARNING: unrecognized options: --without-tcl, --without-tk
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/Users/mattroberts/.rvm/src/ruby-2.0.0-p247':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

所以,我尝试列出我的版本。它告诉我我有1.9.3-p392所以我卸载那个并重新安装以查看是否有效 - 同样的错误。

我是否需要重新安装/更新xcode,还是有其他解决方案?

谢谢!

7 个答案:

答案 0 :(得分:54)

如果您在升级到Mavericks后尚未升级Xcode,则应该这样做 之后,打开命令提示符并键入:
xcode-select --install

这将安装已被OSX更新删除的xcode命令工具。 之后它应该可以正常工作。

答案 1 :(得分:29)

建议的解决方案没有解决我的问题(最新版本的XCode,安装了命令行工具)。我使用rvm install ruby-1.9.3 --with-gcc=clang并且有效。

我认为rvm默认使用clang for OSX。不确定我是否记得那个错误或改变了什么/这不再是最好的事情。然而它让我的安装工作。

在Edu的评论之后,他引用的github rvm issues page警告:

  

@marksands请确保你知道你在做什么,红宝石1.9.3   用clang编译不是“安全”,它可以是段错误,线程相关   问题是预期的,考虑重新安装ruby --with-gcc = gcc42或   只是让rvm安装gcc 4.6,只有ruby 2.0.0完全兼容   铛

This issue指出小牛队的gcc46问题:

  

有问题的宝石使用不同的语言 - 而不是C / C ++   Objective-C - 所以它不是编译器错误,你可以构建gcc-4.6   支持Objective-C - 默认情况下没有完成。

     

现在有两个选项,都是从uninstallig gcc-4.6和   然后:

     

•安装apple-gcc42

     

•使用--enable-objc

安装gcc-4.6

答案 2 :(得分:8)

这应该是固定的,运行:

rvm get head
rvm remove 1.9.3
rvm install 1.9.3

不要使用额外的标志

答案 3 :(得分:3)

最终为我工作的是安装XCode 然后运行Xcode 然后尝试重新安装。

答案 4 :(得分:1)

正在运行

rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')

更正了我在Mavericks中的编译器问题

答案 5 :(得分:0)

进入同样的问题(在10.8.5,所有最新)。 Ruby 2.0.0安装正常,但不是1.9.3。这个解决方案对我有用。

cd进入ruby路径(在config.log中找到),然后 问题.configure(包含所有选项,如config.log中所示)

make
make install

然后:

rvm use 1.9.3 --create

答案 6 :(得分:0)

解决方案:

unset SDKROOT

这对我有用。我希望它也适合你。

我尝试重新安装xcode和xcode开发人员工具。没工作。同样的错误。

尝试与env -i bash —noprofile —norc一起运行,看看您的env vars是否导致问题进一步调查。