Rails 3 - 没有这样的文件加载 - openssl

时间:2010-08-12 01:27:28

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

运行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也不能安装。

10 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:13)

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

答案 2 :(得分:7)

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

sudo apt-get install libopenssl-ruby1.9.1这适用于ruby 1.9.1。

对于ruby 1.8.x

sudo apt-get install libopenssl-ruby

答案 3 :(得分: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将被安装

答案 4 :(得分: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

答案 5 :(得分:2)

这解决了我的问题:

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

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

答案 6 :(得分:1)

我做了

rvm pkg install openssl
rvm reinstall 1.9.3

并完成了!

答案 7 :(得分:0)

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

非常确定该命令看起来像 - rvm install 1.9.2-rc2

您需要重新安装导轨

答案 8 :(得分: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 - 默认

答案 9 :(得分:0)

尝试以下步骤。

  1. rvm稳定
  2. 酿造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

如果您已经拥有红宝石版本,请使用

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