【问题标题】:Unable to require openssl when initialling rails初始化 rails 时无法要求 openssl
【发布时间】:2013-12-01 05:46:36
【问题描述】:

在 osx maverick 上安装 rails 时出现以下错误。 OpenSSL 已经安装。有谁知道如何解决这个问题?

$ gem install rails 错误:执行 gem 时...(Gem::Exception) 无法要求 openssl,安装 OpenSSL 并重建 ruby​​(首选)或使用非 HTTPS 源

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可能需要根据these instructions from chruby about Ruby 2.1.2 更新您的 OpenSSL CA 捆绑包:

    安装 2.1.2

    注意:MRI 2.1.2 需要 OpenSSL >= 1.0.1。

    wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2
    tar -xjvf ruby-2.1.2.tar.bz2
    cd ruby-2.1.2
    ./configure --prefix=/opt/rubies/ruby-2.1.2
    make
    sudo make install
    

    注意:OS X 用户必须 update their OpenSSL CA cert bundle 并正确设置 ./configure --with-opt-dir 以针对 Homebrew 的库进行编译:

    wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.bz2
    tar -xjvf ruby-2.1.2.tar.bz2
    cd ruby-2.1.2
    ./configure --prefix="$HOME/.rubies/ruby-2.1.2" --with-opt-dir="$(brew --prefix openssl):$(brew --prefix readline):$(brew --prefix libyaml):$(brew --prefix gdbm):$(brew --prefix libffi)"
    make
    sudo make install
    

    对我来说,只需通过 Homebrew update my OpenSSL CA cert bundle 然后使用 ruby​​-install 重新安装 Ruby 就足够了

    brew tap raggi/ale
    brew install openssl-osx-ca
    ruby-install ruby 2.1.2
    

    在我执行上述步骤后,问题就停止了。

    【讨论】:

    • 谢谢。我也只需要通过 Homebrew 更新我的 OpenSSL CA 证书包
    【解决方案2】:

    对我来说...我曾尝试使用ruby-install 安装ruby 2.1.2(因为我使用chruby 作为我的ruby 版本管理器)。我曾尝试使用自制软件等手动安装openssl。但我仍然无法让ruby-install 成功构建ruby 2.1.2。过去我在安装 rubies 时也遇到过类似的问题,ruby-build 然后工作了,所以我在这里试了一下,它工作了!据我了解,ruby-build 是rbenv 使用的安装程序。

    我所做的是:

    1. rm -rf ~/.rubies/ruby-2.1.2(这是安装我的 ruby​​ 的地方。)
    2. brew remove --force openssl
    3. brew install ruby-build
    4. 重启控制台以确保安全
    5. ruby-build 2.1.2 ~/.rubies/ruby-2.1.2

    成功了! ruby-build 在成功安装奇怪的依赖项方面似乎比 ruby-install 聪明得多。在这一点上我已经完成了ruby-install - 它给我带来了太多问题! (brew remove --force ruby-install)

    【讨论】:

      【解决方案3】:

      我也遇到过类似的问题。 just yesterday 引入了对 rvm 的修复,它还没有与 rvm master 分支合并,所以你是这样做的:

      rvm get branch /bugfix/3923_set_osx_brew_openssl_compiler_config
      rvm install 2.4.0
      gem install rails
      

      如果这对你有用,go to the issue 并告诉开发人员你对他的努力有多么感激:

      【讨论】:

        【解决方案4】:

        由于最近从 1.0 到 1.1 的 openssl 版本自动更新,我最近在安装 ruby​​ 时遇到了困难。 我发现 ruby​​ 版本 1.0。

        我什至无法将 openssl 恢复到 1.0 版本,因为其他库依赖于它。

        除了下面给出的解决方案之外,没有其他解决方案对我有用:

        brew install rbenv/tap/openssl@1.0 rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/openssl@1.0' gem update --system

        现在我的 ruby​​ 使用 openssl 1.0 运行,而所有其他库都在默认的 openssl 1.1 版本上运行。

        【讨论】:

          【解决方案5】:

          安全服务器是这个问题的原因。您可以使用以下命令安装它:

           gem install rails --source http://rubygems.org
          

          默认情况下,它使用 https://rubygem.org 作为 gem 的来源。

           $ gem install rails ERROR: While executing gem ... (Gem::Exception) Unable to
            require openssl, install OpenSSL and 
            rebuild ruby (preferred) or use non-HTTPS sources
          

          所以我们可以指定一个源,http//:rubygems.org,它是一个非 HTTPS 源。

          【讨论】:

            猜你喜欢
            • 2010-09-14
            • 2017-06-06
            • 2017-03-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-05-30
            • 1970-01-01
            相关资源
            最近更新 更多