【问题标题】:Rails 3 - no such file to load -- opensslRails 3 - 没有要加载的文件 - openssl
【发布时间】:2011-03-28 16:55:08
【问题描述】:

在运行 Rails 服务器时,我收到以下错误: 没有要加载的文件——openssl

我尝试了我在网上找到的解决方案。我去~/.rvm/src/ruby-1.9.2-head/ext/openssl。我输入:ruby extconf.rb,但我得到以下内容:

=== OpenSSL for Ruby configurator ===
=== Checking for system dependent stuff... ===
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for assert.h... yes
=== Checking for required stuff... ===
checking for openssl/ssl.h... no
=== Checking for required stuff failed. ===
Makefile wasn't created. Fix the errors above.

我无法使用 make 或 make install。

【问题讨论】:

  • 我只在使用jruby时遇到过这种情况,您能否具体说明一下环境。我认为您使用的是rvm?哪个红宝石?

标签: ruby-on-rails ruby ruby-on-rails-3 openssl rvm


【解决方案1】:

尝试以下步骤。

  1. rvm 稳定
  2. brew 安装 libyaml
  3. rvm pkg install openssl
  4. rvm install ruby​​-2.0.0 --with-openssl-dir=$HOME/.rvm/usr
  5. rvm 使用 ruby​​-2.0.0

如果你已经有 ruby​​ 版本,请使用

rvm 重新安装 ruby​​-2.0.0 --with-openssl-dir=$HOME/.rvm/usr

【讨论】:

    【解决方案2】:

    这个错误意味着你的 Ruby 不是用 openssl 编译的。 假设您使用 RVM,以下是解决此问题的步骤。

    1.安装openssl包

    rvm pkg install openssl
    

    2.删除您正在使用的 Ruby 安装

    rvm remove 1.9.3
    

    3.最后用openssl重新编译Ruby

    rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr
    

    4.现在一切都应该正常了。不要忘记:

    rvm 使用 1.9.3 --default

    【讨论】:

      【解决方案3】:

      检查此说明http://rvm.io/packages/openssl/ - 请记住,快速修复只是一个块而不是整个页面。

      【讨论】:

        【解决方案4】:

        我做了

        rvm pkg install openssl
        rvm reinstall 1.9.3
        

        完成了!

        【讨论】:

          【解决方案5】:

          对于 ubuntu,我做了以下操作:

          apt-get install libssl-dev
          cd ruby-1.9(source directory used to install ruby)/ext/openssl
          ruby extconf.rb
          make
          make install
          

          【讨论】:

            【解决方案6】:

            这解决了我的问题:

            rvm pkg install openssl
            rvm reinstall 1.9.2 --with-openssl-dir=$rvm_path/usr
            

            并且不要忘记将 ruby​​ 版本更改为您正在使用的版本。如果你有一个旧的 rvm,你也应该先更新它。

            【讨论】:

              【解决方案7】:

              首先检查你的 rvm 是否有 openssl 包。转到/usr/local/src/rvm/ruby-1.9.2-p290/

              然后转到 ext/openssl。

              输入 ruby extconf.rb 如果我们发现这样的错误

              enter code here
              === OpenSSL for Ruby configurator ===
              === Checking for system dependent stuff... ===
              checking for t_open() in -lnsl... no
              checking for socket() in -lsocket... no
              checking for assert.h... yes
              === Checking for required stuff... ===
              checking for openssl/ssl.h... no
              === Checking for required stuff failed. ===
              Makefile wasn't created. Fix the errors above
              

              然后安装 apt-get install libssl-dev.Once 安装 rub ruby​​ extconf.rb。现在将安装 openssl

              【讨论】:

              • 是的,我在 Ubuntu 上需要 libssl-dev。谢谢!
              【解决方案8】:

              rvm pkg install openssl(旧格式 - rvm package install openssl
              rvm pkg install iconv(旧格式 - rvm package install iconv
              rvm remove 1.9.2
              rvm install 1.9.2 -C --with-openssl-dir=$HOME/.rvm/usr,--with-iconv-dir=$HOME/.rvm/usr

              Credit to http://www.isnull.com.ar/

              【讨论】:

              • 仅供参考 - 如果有人收到“错误:无法识别的命令行参数:'package'(请参阅:'rvm usage')”,那是因为 'Package' 已更改为 'pkg'。所以现在'rvm pkg install XXXX'。
              • 这实际上是一种解决方法。正确的解决方法是安装 OpenSSL 库的开发版本。请参阅下面的答案。在 Debian/Ubuntu 上:apt-get install libssl-dev
              • (基本上,要么做 rvm pkg install openssl,要么做 apt-get install libssl-dev,然后你做一个 rvm 重新安装,参见其他答案中的链接。)
              【解决方案9】:

              您必须为 openssl/net/http 安装库运行以下代码,然后安装 openssl 和 iconv.. 以下代码将在 UBUNTU 上运行..

              sudo apt-get install libopenssl-ruby1.9.1 这是针对 ruby​​ 1.9.1 的。

              sudo apt-get install libopenssl-ruby 用于 ruby​​ 1.8.x

              【讨论】:

                【解决方案10】:

                您可能想尝试运行 ruby​​-1.9.2-rc2 而不是 head? 不确定它是否能解决这个问题,但我确实遇到了很多问题,试图在 head 下运行

                很确定命令看起来像 - rvm install 1.9.2-rc2

                您需要重新安装导轨

                【讨论】:

                  猜你喜欢
                  • 2011-12-17
                  • 2023-03-03
                  • 2011-06-26
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2011-05-02
                  相关资源
                  最近更新 更多