【问题标题】:Can't install Ruby Enterprise Edition with RVM on OSX Lion无法在 OSX Lion 上使用 RVM 安装 Ruby 企业版
【发布时间】:2011-10-11 20:43:22
【问题描述】:

这是我到目前为止所做的。

  1. 干净安装 OS X Lion
  2. 从 App Store 下载并安装了最新版本的 Xcode。
  3. 已安装 Git
  4. 已安装 Homebrew
  5. 已安装 RVM

我现在尝试为 rvm install ree 的项目安装 Ruby 企业版并收到以下错误:

$ rvm install ree
ree-1.8.7-2011.03 - #installing
ERROR: Error running './installer -a /Users/FaraazKhan/.rvm/rubies/ree-1.8.7-2011.03
  --no-tcmalloc --dont-install-useful-gems ', please read
  /Users/FaraazKhan/.rvm/log/ree-1.8.7-2011.03/install.log
ERROR: There has been an error while trying to run the ree installer. Halting
  the installation.

我已经尝试过CC=/usr/bin/gcc-4.2 rvm install ree 并得到相同的结果。

【问题讨论】:

  • /Users/FaraazKhan/.rvm/log/ree-1.8.7-2011.03/install.log 说什么?
  • 这里是 cat /Users/FaraazKhan/.rvm/log/ree-1.8.7-2011.03/install.log [2011-07-23 20:16:52] ./installer 的输出-a /Users/FaraazKhan/.rvm/rubies/ree-1.8.7-2011.03 --no-tcmalloc --dont-install-useful-gems 欢迎使用 Ruby Enterprise Edition 安装程序 此安装程序将帮助您安装 Ruby Enterprise Edition 1.8 .7-2011.03。不用担心,如果您不想要它们,您的任何系统文件都不会被触及,因此不会有事情搞砸的风险。
  • 您可以从安装过程中看到: 1. Ruby 企业版将针对该系统的速度进行编译和优化。 2. Ruby 企业版将安装 Ruby on Rails。 3. 您将学习如何告诉 Phusion Passenger 使用 Ruby Enterprise Edition 而不是常规的 Ruby。按 Enter 继续,或按 Ctrl-C 中止。正在检查所需的软件...
  • * C 编译器... 位于 /usr/bin/gcc-4.2 * C++ 编译器... 位于 /usr/bin/g++ * 'make' 工具... 位于 / usr/bin/make * 'patch' 工具...位于 /usr/bin/patch * Zlib 开发头文件... 找到 * OpenSSL 开发头文件... 找到 * GNU Readline 开发头文件... 找到
  • ------------------------------------------ -- 目标目录自动安装到:/Users/FaraazKhan/.rvm/rubies/ree-1.8.7-2011.03 ------------------------ -------------------- 编译和优化 Ruby Enterprise Edition 在此期间,请随意喝杯咖啡。

标签: ruby macos rvm osx-lion ruby-enterprise-edition


【解决方案1】:

刚才我能够复制您的错误。这为我解决了这个问题:

$ rvm 删除 ree
$ 出口 CC=/usr/bin/gcc-4.2
$ rvm install --force ree

【讨论】:

  • 谢谢!我已经在系统范围内安装了 rvm 并使用了sudo CC=/usr/bin/gcc-4.2 rvm install --force ree
  • 嘿洛伦兹,我很高兴它成功了。但是仅供参考,您不需要使用 sudo 来安装具有系统范围安装的 rubies。确保将您的用户帐户添加到 rvm 组(在 /etc/group 中),并且您应该可以使用非特权帐户管理 rubies。
  • 这个修复也对我有用。在 OSX Lion 上使用 rvm 安装 ree。 1.9.2-p290 和 1.9.3-preview1 都与我安装的所有三个 rvm 一起使用。我看到的是 ree 安装使用 /usr/bin/gcc 而导出使用 /usr/bin/gcc-4.2。万一有人需要进一步诊断。感谢您的解决方案 JofoCodin。
  • 另外,如果您遇到 readline 问题,这对我有用:rvm install ree --force -C --with-readline-dir=$HOME/.rvm/usr
  • 对我不起作用。同事上周下载并安装了 Lion 和 XCode。今天他尝试按照这些说明进行操作,但 /usr/bin/gcc-4.2 不存在。我们从哪里得到它?此解决方案对其他人仍然有效吗?
【解决方案2】:

使用 MacPorts,您可以在 OS X Lion 中为本地用户安装 Ruby 企业版以及 Ruby 1.9.2,同时使用“Apple 的 gcc 4.2 版本”安装 Xcode 4.2。

先决条件:

  • OS X Lion(在 10.7.2 中测试)
  • Xcode 4.2
  • rvm 1.9.1
  • MacPorts 2.0.3

执行以下命令:

$ sudo port install apple-gcc42

$ export CC=/opt/local/bin/gcc-apple-42

然后

$ rvm install ree

$ rvm 使用 ree

$ rvm install 1.9.2

$ rvm 使用 1.9.2

可选

$ rvm 使用 ree --default

$ rvm 使用 1.9.2 --default

我希望这会有所帮助。

-乔

【讨论】:

  • 使用此解决方案需要您降级到 Xcode 4.1,正如其他人所说的那样。
  • sudo port install apple-gcc42 非常有用。谢谢。
  • 请注意“port install apple-gcc42”会创建一个文件夹“gcc-apple-4.2”,所以下一行应该是“export CC=/opt/local/bin/gcc-apple-4.2” ",很容易漏掉,报错
【解决方案3】:

无需安装 MacPorts 或降级到 4.1 即可获得 GCC,我使用了 https://github.com/kennethreitz/osx-gcc-installer 的安装程序包,已经安装了 xCode 4.2,安装 1.9.2-head 和 1.9.2-p290 没有问题。

【讨论】:

    【解决方案4】:

    我做了类似于 jbg 建议的事情。只有我没有使用 MacPorts。我刚刚为 Lion here 使用了最新的 GCC 包。

    这是在花了大约一天半的时间尝试所有其他建议、降级到 Xcode 4.1 等无济于事之后。

    顺便说一句,Apple 网站上 Xcode 4.1 的直接链接给了我一个无效校验和错误,我下载了 3 次。我看到其他有同样问题的人发的 Twitter 帖子。

    【讨论】:

    • 这就像一个魅力。安装 GCC 包后执行 rvm install 1.9.3 --with-gcc=gcc-4.2 并设置。感谢 user210977!
    • 您可能会喜欢我为“自动化”该过程而编写的这个 bash 脚本。它还与自定义的 Soloist (Chef) 食谱列表相关联。 gist.github.com/1454081
    • 很酷的东西。感谢分享!
    【解决方案5】:

    冒着冗余的风险,我也会发布我的答案,因为我尝试了此页面上的所有内容(以及许多其他内容)并最终得到了其中一些似乎最有可能工作的混合体。请注意,其中一些步骤可能不是明确必要,但它们已经足够了(即,我没有返回并删除可能不必要的步骤来获得最简单的成功途径)。

    环境:Mac OS Lion 10.7.3、Homebrew 组件、rvm 1.10.2、ree 1.8.7-2012.01、带有旧版 gcc-4.2 的 Xcode 4.2.1。

    步骤:

    1. 确保稳定的 Ruby 是最新的。使用 1.9.2(rvm 使用 1.9.2)因为 1.9.3 是一个潜在问题。
    2. rm -fr $rvm_path/usr
    3. rvm pkg 安装 ree_dependencies
    4. rvm 删除 ree
    5. 导出 CC=/usr/bin/gcc-4.2
    6. rvm 安装 ree \ --with-openssl-dir=$rvm_path/usr\ --with-readline-dir=$rvm_path/usr\ --with-iconv-dir=$rvm_path/usr\ --with-zlib-dir=$rvm_path/usr

    我之前曾尝试过特定于 brew 的解决方案,但这些对我不起作用。希望这对某人有帮助!

    【讨论】:

      【解决方案6】:

      请不要在 RVM 中使用 sudo,也不需要在升级 RVM 本身时使用 rvmsudo。请参阅并阅读https://rvm.io/support/faq/(我需要在 gems 中使用 sudo 吗?条目)和 https://rvm.io/support/troubleshooting/(多用户安装 - 使用 sudo 命令条目)

      请删除您当前的安装并重新开始,因为使用 sudo 肯定会弄乱 RVM 的权限结构。请查看https://rvm.io/support/troubleshooting/ 的最底部(如何从系统中彻底清除 RVM 的所有痕迹,包括系统范围的安装?条目)

      然后重新开始严格遵循https://rvm.io/rvm/install/的多用户安装段

      谢谢。

      【讨论】:

        【解决方案7】:

        如果您使用的是 Lion 10.7.2,并且已安装 XCode 4.2,则需要将 XCode 降级到 4.1

        我是这样做的(它比你想象的要复杂):

        • Apple Dev Center 下载 XCode 4.1(您需要使用您的开发中心凭据登录)
        • 卸载 XCode 4.2

          $ sudo /Developer/Library/uninstall-devtools --mode=all

        • /Applications 目录中删除 XCode 安装程序

        • 运行您下载的 XCode 4.1 包,这将在/Applications 中安装一个新的 XCode 安装程序
        • /Applications 中运行XCode 安装程序
        • 当它停止时,要求您退出iTunes,您需要退出iTunes,并使用活动监视器强制退出iTunes Helper
        • 等待 XCode 4.1 安装
        • 使用上述步骤安装 ree

        干杯, 伊恩

        【讨论】:

          【解决方案8】:

          这就是我安装它的方式。可能以前的答案已经解决了您的问题。我的步骤可能是帮助和我有相同经历的人。

          首先,安装 MacPort 最新版本

          >rvm uninstall ree
          >sudo port install apple-gcc42
          >export CC=/opt/local/bin/gcc-apple-4.2
          >rvm pkg install zlib openssl readline
          >rvm install --force ree
          

          结果是:

          IronB:~ ...$ rvm install --force ree
          Installing Ruby Enterprise Edition from source to: /Users/.../.rvm/rubies/ree-1.8.7-2011.03
          ree-1.8.7-2011.03 - #fetching (ruby-enterprise-1.8.7-2011.03)
          ree-1.8.7-2011.03 - #extracting ruby-enterprise-1.8.7-2011.03 to /Users/.../.rvm/src/ree-1.8.7-2011.03
          Applying patch 'tcmalloc' (located at /Users/.../.rvm/patches/ree/1.8.7/tcmalloc.patch)
          Applying patch 'stdout-rouge-fix' (located at /Users/.../.rvm/patches/ree/1.8.7/stdout-rouge-fix.patch)
          Applying patch 'no_sslv2' (located at /Users/.../.rvm/patches/ree/1.8.7/no_sslv2.diff)
          ree-1.8.7-2011.03 - #installing 
          Removing old Rubygems files...
          Installing rubygems-1.8.10 for ree-1.8.7-2011.03 ...
          Installation of rubygems completed successfully.
          ree-1.8.7-2011.03 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
          ree-1.8.7-2011.03 - #importing default gemsets (/Users/.../.rvm/gemsets/)
          

          我也将这个放到我的 ~/.rvmrc 中以备下次使用

           # Make this work with OS X Lion... for now...
           if [[ `uname -v` =~ "Darwin Kernel Version 11" ]] ; then
                 export CC=/opt/local/bin/gcc-apple-4.2
           fi
          

          【讨论】:

          • rvm pkg install zlib openssl readline 非常有用,谢谢!
          猜你喜欢
          • 2012-12-12
          • 2013-04-13
          • 2013-03-21
          • 2012-03-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-24
          相关资源
          最近更新 更多