在mavericks上安装任何版本的ruby with RVM

在mavericks上安装任何版本的ruby with RVM,ruby,rvm,osx-mavericks,Ruby,Rvm,Osx Mavericks,我刚刚升级到osx mavericks,我想安装ruby 2.0,但我得到configure:error:无法运行C编译程序。errors 我使用rvm get stable更新rvm,然后键入rvm install 2.0.0并获得一个错误,将我指向日志文件。日志文件包含: configure: WARNING: unrecognized options: --without-tcl, --without-tk checking build system type... x86_64-appl

我刚刚升级到osx mavericks,我想安装ruby 2.0,但我得到
configure:error:无法运行C编译程序。
errors

我使用
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,或者是否有其他解决方案


谢谢

这应该是固定的,运行:

rvm get head
rvm remove 1.9.3
rvm install 1.9.3

不要使用额外的标志

如果您在升级到Mavericks之后没有升级Xcode,您应该这样做 之后,打开命令提示符并键入:
xcode选择--安装

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

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

我认为rvm默认情况下使用clang作为OSX。我不确定我是否记得那是错的还是有什么改变了/这不再是最好的做法。尽管如此,它还是让安装对我起了作用

在Edu的评论之后,他提到的警告:

@marksands请确保您知道自己在做什么,ruby 1.9.3 用clang编译是不“安全”的,它可能与SEGFULT、线程有关 需要考虑的问题,考虑重新安装Ruby——用GCC=GCcc42或 只需让rvm安装GCC4.6,只有Ruby2.0.0与GCC4.6完全兼容 叮当声

指出gcc46在小牛上的问题:

讨论中的gem使用不同的语言,而不是C/C++,它使用的是 Objective-C—所以这不是编译器的错误,您可以构建gcc-4.6 有了对Objective-C的支持,默认情况下不会这样做

您现在有两个选项,都以卸载gcc-4.6和 然后:

•安装apple-gcc42

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


遇到了同样的问题(10.8.5,都是最新的)。Ruby 2.0.0安装良好,但不是1.9.3。这个解决方案对我有效

将cd放入ruby路径(在config.log中找到),然后 问题
.configure
(使用config.log中的所有选项)

然后:


最终对我有效的方法是安装XCode,然后运行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中的编译器问题

解决方案:
unset SDKROOT

这对我有用。我希望你也能这样

我尝试重新安装xcode以及xcode开发工具。没用。同样的错误


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

您是否尝试过此操作:我在configure.log中收到以下消息:[2013-10-31 11:59:14]。/configure。。。正在检查C编译器是否工作。。。no configure:error:in
/Users/Ann/.rvm/src/ruby-1.9.3-p448”:configure:error:C编译器无法创建可执行文件有关
/Users/Ann/.rvm/src/ruby-1.9.3-p448/config.log的详细信息,请参阅
config.log。下面是config.log:运行
sudo端口卸载apple-gcc42
,然后再次使用answerYay的命令,更新xcode为我完成了任务-我不需要
xcode选择--install
,但奇怪的是,我在xcode 5上,我仍然需要升级到5.0.2,并且仍然需要运行上面的命令。这是一次失败我遇到“不可用”错误。如果其他人遇到这种情况:这是唯一适用于Mavericks的vlid吗?(10.8说“xcode选择:错误:未知命令选项”--install.”)所有
xcode选择--install
为我做的是
xcode选择:错误:命令行工具已经安装,请使用“软件更新”安装更新。我必须+1如此疯狂以至于它可能会起作用。。。的确如此!非常感谢!当您更新Xcode时,它希望您接受许可条款,并且无论如何,您必须从prefs菜单安装开发工具。也在Mavericks上工作过:rvm install ruby-1.8.7-p302——使用gcc=clangInstalling with clang这是不安全的。brew安装gcc46——启用objc对我来说很有效。请注意,如果安装失败,您已经安装了brew的
gcc
(当前
gcc48
),您需要先卸载它,然后再重新安装
——启用objc
——启用所有语言
rvm use 1.9.3 --create
rvm_configure_env=('LDFLAGS=-L/opt/sm/pkg/active/lib' 'CFLAGS=-I/opt/sm/pkg/active/include' 'CPATH=/opt/sm/pkg/active/include')