使用Xcode 4.3.1在Mac上更新Ruby
我正在使用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。
简短的回答是你可以抓住RVM主分支(不稳定)用LLVM构建它(不是gcc,我最初输入错误)。 它有适当的补丁,默认情况下使用Xcode 4.3.1运行1.9.3-p125(至少更好)。 我提供了补丁。 如果您已经安装了RVM,则rvm get head
将安装master分支。 使用Xcode 4.3.1安装的命令行工具,您可以成功安装Ruby 1.9.3-p125。
背景
由于Ruby 1.9.3-p125的简单配置问题,它发生了,它不允许动态链接模块工作。 如果你使用的是Xcode 4.3.x( Ruby Issue#6080 ),就会发生这种情况。
此问题已在更改集r34840中修复 。
RVM具有补丁系统,该系统提供每个版本的基础。 此修补程序包含在RVM(现在是主分支)中,现在默认为p125配置步骤。
Xcode 4.3.x命令行工具
首先,使用Xcode 4.3.x,您需要在安装Xcode 4.3.x之后安装命令行工具,方法如下:1)启动Xcode,2)从菜单栏上的“Xcode”项打开“Preferences”。 3)选择“下载”选项卡(图标)。 4)点击“命令行工具”的“安装”按钮( 这里从我朋友的网站借来的指示)
如果正确安装了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的帮助推荐不同的参数,帮助打破了。 所以现在使用上面。 你需要tcl / tk参数,如果你通过MacPorts(像我这样)
顺便说一句,可以安装旧的Xcode,然后使用export CC="gcc-4.2" rvm install 1.9.3-p125
,但我个人认为clang(LLVM)是未来的方法,如果可能的话。
希望这可以帮助。
关于2012/3/31的补充说明
iconv不需要安装,还添加了autoconf / automake要求以进行说明。
关于2012/4/13的补充说明
最新的稳定版不包括补丁要求动态链接默认工作。 你需要在构建1.9.3-p125时添加--patch xcode-debugopt-fix-r34840.diff
-r34840.diff。
从RVM 1.10.2开始,您只需安装自制软件包apple-gcc42
,所有内容都将为“Just Work(TM)”:
brew tap homebrew/dupes ; brew install apple-gcc42 ; rvm install ruby-1.9.2
再见!
[根据以下评论更新]
您只需要在/ 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
我认为每个人写的都很困惑
rvm get head rvm get stable
相反,你应该只写
rvm get head
否则它将无法工作(因为稳定还没有相应的补丁)。
我也遇到过ruby-1.9.3-p125的问题,这就是我所做的,希望这可以帮助某人下线。
rvm install ruby-1.9.3-p194
并检查安装了新的ruby
rvm列表
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删除ruby-1.9.3-p125
并设置新的ruby ruby-1.9.3-p194供使用并安装gem
rvm使用ruby-1.9.3-p194
捆绑安装
我已经安装并测试了以下类似于上面的建议。 但是我只是卸载了所有内容并为所有这些进行了基本安装。 唯一的例外是,不是使用xcode首选项对话框来安装命令行工具(对我来说失败了)。 Apple发布了一个独立的站点,我在第2项中使用了它。)
- 下载并安装xCode 4.3.2
- 下载并安装Xcode的命令行工具2012年3月下旬
- 设置xcode路径$ xcode-select -switch /Application/xcode.app/Content/Developer
- 安装Homebrew,然后通过Brew安装git,autoconf,automake,libyaml,libksba,wget。
- 安装RVM确保它在shell中设置
- rvm install ruby-1.9.3-p125
有些文章推荐这个用于ruby> = 1.9.3,这就是我测试过并且目前正在使用的所有内容。 我确实安装并使用了mysql2,sqlite和通常的嫌疑人(GEM)他们都编译并通过了我的一些基本测试
希望这可以帮助。
- Lion:RVM安装rubies的问题 – 与openssl相关的问题
- 在Lion上安装带有RVM的1.9.3时出错
- MAC OS X上的Postgres权限被拒绝
- 为什么我得到“C编译器无法创建可执行文件”(在此之前成功编写C代码并编译)?
- 如何在OSX Lion上安装(构建)Ruby 1.9.3?
- 使用./configure –with-gcc = clang在Xcode 4.2上使用Lion构建Ruby 1.9.3
- Unix域套接字“/var/pgsql_socket/.s.PGSQL.5432”上的PostgreSQL权限被拒绝错误 – Lion Server 10.7.3或Lion Server 10.7.4
- RSpec升级到OSX Lion后停止工作
- 使用ruby安装自制软件时出错