57

运行 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。

4

10 回答 10

80

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

归功于 http://www.isnull.com.ar/

于 2011-01-30T09:45:13.507 回答
13

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

于 2010-08-13T10:40:28.520 回答
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

于 2011-12-22T01:09:50.280 回答
7

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

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

sudo apt-get install libopenssl-ruby 对于红宝石 1.8.x

于 2011-06-01T10:46:14.507 回答
6

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

apt-get install libssl-dev
cd ruby-1.9(source directory used to install ruby)/ext/openssl
ruby extconf.rb
make
make install
于 2012-05-29T17:32:47.437 回答
3

这为我解决了这个问题:

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

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

于 2012-04-17T08:25:42.473 回答
1

我做了

rvm pkg install openssl
rvm reinstall 1.9.3

并做了!

于 2012-07-24T01:35:13.600 回答
0

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

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

您将需要再次重新安装导轨

于 2010-08-12T04:03:15.157 回答
0

尝试以下步骤。

  1. rvm 稳定下来
  2. 酿造安装 libyaml
  3. rvm pkg 安装 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

于 2019-12-12T10:16:57.780 回答
0

这个错误意味着你的 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

于 2016-01-22T05:08:46.423 回答