我正在使用RVM来安装它,它给了我这个错误:
The provided compiler '/usr/bin/gcc' is LLVM based, it is not yet fully supported by ruby and gems, please read `rvm requirements`.
我在Lion 10.7.3上,我有Xcode 4.3.1。
答案 0 :(得分:41)
简短的回答是你可以抓住RVM主分支(不稳定)用LLVM构建它(不是gcc,我最初错误输入)。它有适当的补丁,默认情况下使用Xcode 4.3.1使1.9.3-p125运行(至少更好)。我提供了补丁。如果您已经安装了RVM,rvm get head
将安装主分支。使用Xcode 4.3.1安装的命令行工具,您可以成功安装Ruby 1.9.3-p125。
<强>背景强>
由于Ruby 1.9.3-p125的简单配置问题,它发生了,它不允许动态链接模块工作。如果您使用Xcode 4.3.x(Ruby Issue#6080),则会发生这种情况。
此问题已在change set r34840中修复。
RVM具有补丁系统,该系统提供每个版本的基础。此修补程序包含在RVM(现在为master分支)中,现在默认为p125配置步骤。
Xcode 4.3.x命令行工具
首先,使用Xcode 4.3.x,您需要在安装Xcode 4.3.x之后安装命令行工具,方法如下:1)启动Xcode,2)从菜单栏上的“Xcode”项打开“Preferences” 。 3)选择“下载”选项卡(图标)。 4)单击“命令行工具”的“安装”按钮(从我朋友的网站here借来的指示)
如果正确安装了Xcode 4.3.1,那么cc --version
应该发出:
% cc --version
Apple clang version 3.1 (tags/Apple/clang-318.0.54) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin11.3.0
Thread model: posix
autoconf和automake
你需要autoconf和automake,因为Xcode 4.3.x没有它们。使用brew
:
MacPorts.
或MacPorts
sudo port install autoconf automake
推荐的RVM安装步骤
然后,要安装RVM的特定分支,您可以:
REPO=wayneeseguin
BRANCH=master # stable for the stable branch
curl -s https://raw.github.com/${REPO}/rvm/${BRANCH}/binscripts/rvm-installer > /tmp/rvm-installer.sh
bash /tmp/rvm-installer.sh --branch ${REPO}/${BRANCH}
或者如果已经安装了RVM:
rvm get head # master branch, for stable branch "rvm get stable"
之后,使用rvm pkg命令安装openssl,iconv和readline以获得最佳结果。我最近关注。部分内容可能需要包含在RVM中..
rvm pkg install openssl
rvm pkg install readline # if you prefer GNU readline
然后,最后,安装Ruby。
rvm install 1.9.3-p125 --patch xcode-debugopt-fix-r34840.diff --with-readline-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr --with-tcl-lib=/usr --with-tk-lib=/usr
rvm pkg的帮助建议不同的参数,帮助被打破。所以现在使用上面。如果您通过MacPorts(像我一样)获得tcl / tk参数
,则需要tcl / tk参数顺便说一句,可以安装旧的Xcode然后用export CC="gcc-4.2" rvm install 1.9.3-p125
运行rvm,但我个人认为clang(LLVM)是未来的方法,如果可能的话。
希望这有帮助。
关于2012/3/31的补充说明
iconv不需要安装,还添加了autoconf / automake要求以进行说明。
关于2012/4/13的补充说明
最新稳定版不包括默认情况下需要动态链接的补丁。
在构建1.9.3-p125时需要添加--patch xcode-debugopt-fix-r34840.diff
。
答案 1 :(得分:11)
从RVM 1.10.2开始,您只需安装homebrew包apple-gcc42
,一切都将“Just Work(TM)”:
brew tap homebrew/dupes ; brew install apple-gcc42 ; rvm install ruby-1.9.2
侨!
[根据以下评论更新]
答案 2 :(得分:4)
您只需在/ usr / bin中安装gcc-4.2。
以下是https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg下载。
然后CC = / usr / bin / gcc-4.2 rvm install 1.8.7 --force
答案 3 :(得分:3)
我认为人们对每个人写的都感到困惑
rvm get head
rvm get stable
相反,你应该只写
rvm get head
否则它将无法工作(因为stable还没有相应的补丁)。
答案 4 :(得分:1)
我也遇到了ruby-1.9.3-p125的问题,这就是我所做的,希望这可以帮助某人下线。
rvm install ruby-1.9.3-p194
并检查新的ruby与
一起安装rvm list
ruby-1.9.2-p318 [ x86_64 ]
ruby-1.9.3-p125 [ x86_64 ] I want to remove this one
ruby-1.9.3-p194 [ x86_64 ] I want to use this one
然后我删除了旧的ruby版本
rvm remove ruby-1.9.3-p125
并设置新的ruby ruby-1.9.3-p194供使用并安装宝石
rvm使用ruby-1.9.3-p194
捆绑安装
答案 5 :(得分:0)
我已经安装并测试了以下类似于上面的建议。但是我只是卸载了所有内容并完成了所有这些的基本安装。唯一的例外是,不是使用xcode首选项对话框来安装命令行工具(对我来说失败了)。 Apple在第2项中单独使用了一个支架。)
有些文章推荐使用ruby&gt; = 1.9.3,这就是我测试过的所有内容。我确实安装并使用了mysql2,sqlite和通常的嫌疑人(GEM)他们都编译并通过了我的一些基本测试
希望这有帮助。