【问题标题】:OpenSSL error installing ruby 2.0.0-p195 on Mac with rbenv使用 rbenv 在 Mac 上安装 ruby​​ 2.0.0-p195 时出现 OpenSSL 错误
【发布时间】:2013-06-15 09:18:10
【问题描述】:

我正在尝试在 Mac(Mountain Lion)上使用 rbenv 安装 Ruby 2.0.0-p195 并收到此错误。

BUILD FAILED

Inspect or clean up the working tree at /var/folders/vt/27n8h2yj27v7rzq58075f3_m0000gn/T/ruby-build.20130618163859.1669
Results logged to /var/folders/vt/27n8h2yj27v7rzq58075f3_m0000gn/T/ruby-build.20130618163859.1669.log

Last 10 log lines:
installing default gems:      /Users/me/.rbenv/versions/2.0.0-p195/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications)
                              bigdecimal 1.2.0
                              io-console 0.4.2
                              json 1.7.7
                              minitest 4.3.2
                              psych 2.0.0
                              rake 0.9.6
                              rdoc 4.0.0
                              test-unit 2.0.0.0
The Ruby openssl extension was not compiled. Missing the OpenSSL lib?

当我运行 brew install openssl 它说

Warning: openssl-1.0.1e already installed

按照此线程https://github.com/sstephenson/ruby-build/issues/305 的解决方案,我尝试以这种方式安装最新的稳定版并得到相同的错误

env CFLAGS='-g -O2' RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline`" rbenv install 2.0.0-p195

有什么想法吗?

【问题讨论】:

    标签: ruby homebrew rbenv


    【解决方案1】:

    尝试使用 --with-openssl-dir 选项将 OpenSSL 添加到配置选项:

    $ CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p195
    

    如果您使用 Homebrew,则需要在运行上述命令之前安装 OpenSSL:

    $ brew install openssl
    

    更新 (见下面@JarkkoLaine 的评论)

    仅作记录,您不需要使用配置选项 不再使用 ruby​​-build 和 homebrew。但是,我不得不重新安装 openssl 与 homebrew 一起工作: brew uninstall openssl;酿造 升级;冲泡安装openssl; rbenv 安装 2.0.0-p247。见this 更多信息。

    【讨论】:

    • 我还必须执行brew install curl-ca-bundle; export SSL_CERT_FILE=/usr/local/opt/curl-ca-bundle/share/ca-bundle.crt 才能使其正常工作。
    • 仅作记录,您应该不再需要将配置选项与 ruby​​-build 和 homebrew 一起使用。但是,我必须使用自制软件重新安装 openssl 才能使其正常工作:brew uninstall openssl; brew upgrade; brew install openssl; rbenv install 2.0.0-p247。请参阅this 了解更多信息。
    • @JarkkoLaine 通过自制软件重新安装 openssl 的解决方案为我解决了(重新安装后,我也不需要设置 env 变量)。我怀疑这可能与我最近升级到 OS X Mavericks 有关,它修改了 /usr/local 中的许多文件权限和所有权。也许您可以考虑将此评论推广为答案,以便更容易发现?
    【解决方案2】:

    对于那些在安装 openssl 时遇到问题的人。

    我的 Mac 10.8.4 出现此错误

    brew install openssl
    
    created directory `/usr/local/Cellar/openssl/1.0.1e/include/openssl'
    make: *** [install_sw] Error 13
    
    READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting
    
    These open issues may also help:
        https://github.com/mxcl/homebrew/pull/19429
    
    1. 如果目录不存在则创建一个目录

      sudo mkdir /usr/local/etc/openssl
      
    2. 更改权限。将 和 替换为您的姓名和组(例如 serge:admin)

      sudo chown -R <username>:<group> /usr/local/etc/openssl/
      
    3. 重复 openssl 安装

      brew install openssl
      
    4. 安装 curl-ca-bundle

      brew install curl-ca-bundle
      
    5. 安装红宝石

      CONFIGURE_OPTS="--with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p195
      

    宾果游戏

    【讨论】:

    • 第 1 步为我修复了它。实际上,我在运行 brew install openssl 的情况下执行了这些步骤,并且我猜该目录是及时创建的,因为在它通常失败的时候,brew install 继续进行!宾果游戏
    【解决方案3】:

    升级到最新版本的 ruby​​-build 解决了我的问题:

    像OP一样,我得到了

    BUILD FAILED
    
    Inspect or clean up the working tree at /Users/me/.rbenv/sources/2.0.0-p247
    Results logged to /var/folders/3x/y_8y8vr53ws_kxj97km79q5h0000gn/T/ruby-build.20130704172404.3106.log
    
    Last 10 log lines:
    installing default gems:      /Users/me/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0 (build_info, cache, doc, gems, specifications)
                                  bigdecimal 1.2.0
                                  io-console 0.4.2
                                  json 1.7.7
                                  minitest 4.3.2
                                  psych 2.0.0
                                  rake 0.9.6
                                  rdoc 4.0.0
                                  test-unit 2.0.0.0
    The Ruby openssl extension was not compiled. Missing the OpenSSL lib?
    

    但安装最新版本的 ruby​​-build,通过

    # Don't forget brew doctor and brew update if required
    brew upgrade ruby-build
    

    修复它。

    Ruby-build 在 OP 询问时和现在之间发生了一些变化,这可以解释为什么它对我有用,但对使用 ruby​​-build 最新稳定版本的 OP 无效。

    【讨论】:

    • 确保您运行brew update 来更新您的公式,以便在升级/安装时获得最新版本的ruby-build :)
    • @electblake 我注意到上面的“brew upgrade ruby​​-build”命令。
    • 我刚刚用 rbenv 和 ruby​​-build 安装了最新的 brew,不幸的是这没有用......
    • 投了赞成票,因为升级 ruby​​-build 为我解决了这个问题!我通过git(不是Brew)安装了rbenv,但是我通过直接升级rbenv和ruby-build做了与@Andrew基本相同的事情:$ cd ~/.rbenv$ git pull$ cd ~/.rbenv/plugins/ruby-build$ git pull当我运行“rbenv install 2.0.0 -p353" 发生的第一件事是安装了新版本的 openssl,并且 ruby​​ 安装工作正常。作为附带好处,升级 ruby​​-build 还更新了我的可安装 Ruby 版本列表。
    【解决方案4】:

    缺少的库是 libssl*-dev* / openssl*-dev*,具体取决于您的发行版。

    【讨论】:

    • FWIW,他使用的是 OS X,而不是 Linux 发行版。
    【解决方案5】:

    我通过执行解决了这个问题:

    brew link openssl --force
    

    Mac OSX 10.9.4

    【讨论】:

    • 这个小东西救了我一个通宵
    • 天哪,非常感谢
    • @stopshinal 很高兴它有帮助!
    【解决方案6】:

    我在 Mac OS 10.9.5 中再次遇到了这个问题

    Mac 升级了命令行工具和升级了 openssl,这破坏了 rbenv。

    我尝试了所有这些解决方案,但都没有奏效。一切都是最新的,但我无法安装任何新的 gem 或构建 rubies。

    我的解决方案是:

    1. 删除 ruby​​ 版本(对我来说是 2.1.1)
    2. Brew 卸载 ruby​​-build 和 rbenv
    3. Brew 重新安装 rbenv 和 ruby​​-build

    如果你也遇到了,希望对你有所帮助!

    【讨论】:

      【解决方案7】:

      使用 ruby​​-install 的解决方案:

      在卸载并安装了几次 openssl 之后(可能没有必要),我成功地尝试了这个:

      ruby-install ruby 2.1.3 -- --with-openssl-dir=`brew --prefix openssl`
      

      【讨论】:

        猜你喜欢
        • 2013-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 2013-03-08
        • 1970-01-01
        • 1970-01-01
        • 2015-09-16
        相关资源
        最近更新 更多