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

我刚刚升级到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,还是有其他解决方案?

谢谢!

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

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

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

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

在Edu的评论之后,他引用的github rvm问题页面警告:

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

这个问题指出了小牛队的gcc46问题:

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

你现在有两个选择,都是从uninstallig gcc-4.6开始,然后是:

•安装apple-gcc42

•使用–enable-objc安装gcc-4.6

这应该是固定的,运行:

 rvm get head rvm remove 1.9.3 rvm install 1.9.3 

不要使用额外的标志

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

运行

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

纠正了我在Mavericks中的编译问题

进入同样的问题(在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 

解:

unset SDKROOT

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

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

尝试使用env -i bash —noprofile —norc运行,以查看您的环境变量是否导致问题进一步调查。