使用Xcode 4.3.1更新Ruby on Mac时出现问题

使用Xcode 4.3.1更新Ruby on Mac时出现问题,ruby,xcode,osx-lion,rvm,Ruby,Xcode,Osx Lion,Rvm,我正在使用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,我最初输入错误)构建它。它有适当的补丁,可以使1.9

我正在使用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,我最初输入错误)构建它。它有适当的补丁,可以使1.9.3-p125在默认情况下使用Xcode 4.3.1运行(至少更好)。我提供了补丁。如果您已经安装了RVM,
RVM get head
将安装主分支。使用随Xcode 4.3.1安装的命令行工具,您可以成功安装Ruby 1.9.3-p125

背景

这是由于Ruby 1.9.3-p125的一个简单配置问题造成的,它不允许动态链接模块工作。如果您使用的是Xcode 4.3.x(),就会发生这种情况

这个问题已经解决了

RVM有补丁系统,提供每个版本的基础。此修补程序包含在RVM(目前为主分支)中,现在默认用于p125配置步骤

Xcode 4.3.x命令行工具

首先,使用Xcode 4.3.x,您需要在安装Xcode 4.3.x后安装命令行工具,方法如下:1)启动Xcode,2)从菜单栏上的“Xcode”项打开“首选项”。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的帮助建议不同的参数,该帮助被破坏。所以现在就用上面的。如果您通过MacPorts(如我)拥有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时,您需要添加补丁xcode-debugopt-fix-r34840.diff。

我认为人们对每个人都写东西感到困惑

rvm get head
rvm get stable
相反,你应该只写

rvm get head

否则它将无法工作(因为stable还没有相应的补丁)。

您只需要在/usr/bin中安装gcc-4.2即可

这是下载


然后CC=/usr/bin/gcc-4.2 rvm安装1.8.7--force

我已经安装并测试了以下类似于上述建议的内容。然而,我只是卸载了所有的东西,并对所有这些进行了基本安装。唯一的例外是没有使用xcode首选项对话框来安装命令行工具(对我来说失败了)。苹果发布了一个我在第2项中使用的单机版。)

  • 下载并安装xCode 4.3.2
  • 2012年3月底下载并安装Xcode的命令行工具
  • 设置xcode路径$xcode选择-switch/Application/xcode.app/Content/Developer
  • 安装自制,然后安装git、autoconf、automake、libyaml、, libksba,wget通过Brew
  • 安装RVM,确保它已安装在外壳中
  • rvm安装ruby-1.9.3-p125
  • 有很多文章推荐ruby>=1.9.3,这就是我测试和目前使用的全部内容。我确实安装并使用了mysql2、sqlite和它们编译的常见可疑文件(GEMs),并通过了一些基本测试


    希望这有帮助。

    从RVM 1.10.2开始,您只需安装软件包
    apple-gcc42
    ,一切都将“正常工作(TM)”:

    brew点击自制/复制;brew安装apple-gcc42;rvm安装ruby-1.9.2

    再见


    [根据下面的评论更新]

    我对ruby-1.9.3-p125也有一个问题,下面是我所做的,希望这能帮助其他人

    rvm安装ruby-1.9.3-p194

    并检查新的ruby是否安装了

    rvm列表

    然后我删除了旧的ruby版本

    rvm移除ruby-1.9.3-p125

    并设置新的ruby-1.9.3-p194以供使用并安装gems

    rvm使用ruby-1.9.3-p194

    捆绑安装


    最新的Ruby支持LLVM。至少,在我的Mac上是这样。是的,但我正在尝试用rvm安装新版本。不幸的是,最新的LLVM在Ruby上不能很好地工作。我将为此写一个答案..刚刚通过这个-
    rvm get head
    为我解决了这个问题。我也用Xcode 4.3.2验证了我的答案。因此,让我修改问题标题。我已尝试安装p125,但我遇到以下问题:运行“make”时出错,请阅读/Users/**/.rvm/log/ruby-1.9.3-p125/make.log运行make时出错。停止安装。是的,我有点新,但我不太确定我应该在这里用它做什么。这非常有效!非常感谢!我需要注意一件事:记住更改默认的ruby!:)我真的希望人们能阅读我们描述问题的页面。还希望人们能够理解,如果我们只是支持1.9.x系列,我们可以消除相当多的问题和困惑,但我们一直支持1.8.4,由于列出的问题,我们不能支持那些使用Xcode 4.3.x的产品。OSX gcc安装程序
    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