2010-08-12 117 views
55

运行Rails的服务器时,我收到以下错误: 没有这样的文件来加载 - OpenSSL的的Rails 3 - 没有这样的文件来加载 - 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。

+1

使用JRuby的时候,我只遇到过这种情况,您可以给环境的具体问题。我认为你使用的是rvm?哪个红宝石? – 2010-08-12 01:33:14

回答

0

你可能想尝试运行ruby-1.9.2-rc2而不是头? 不知道这是否会解决这个问题,或者没有,但我也有很多的努力下运行头问题

相当肯定的命令会是什么样子 - RVM安装1.9.2-RC2

你将需要重新安装导轨

13

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

+0

我有一个类似的问题,这解决了我的问题。 – 2010-12-01 23:58:04

+0

哪个块是修复? – Shamoon 2013-03-07 15:20:51

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/

+9

仅供参考 - 如果有人得到“错误:无法识别的命令行参数:'包'(请参阅:'rvm usage')”,这是因为'Package'已更改为'pkg'。所以'rvm pkg现在安装XXXX'。 – 2011-08-06 00:06:09

+3

这实际上是一种解决方法。正确的解决方法是安装OpenSSL库的开发版本。见下面的答案。在Debian/Ubuntu上:apt-get install libssl-dev – tbk 2012-02-29 17:59:20

+1

(基本上,要么执行rvm pkg install openssl,要么执行apt-get install libssl-dev,然后执行rvm重新安装,请参阅其他答案中的链接。) – rogerdpack 2012-12-27 17:20:14

7

您必须安装OpenSSL的/网库/ HTTP运行下面的代码然后安装openssl和iconv。以下代码将在UBUNTU上运行..

sudo apt-get install libopenssl-ruby1.9.1这是红宝石1.9.1。

sudo apt-get install libopenssl-ruby对Ruby 1.8.x的

+0

或在Debian上 – Andrew 2012-12-11 00:00:23

7

先检查有OpenSSL包你RVM。转到/usr/local/src/rvm/ruby-1.9.2-p290/

然后转到ext/openssl。

红宝石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安装的libssl-dev.Once安装擦红宝石extconf.rb。现在的OpenSSL将得到安装

+0

libssl-dev解​​决了我的问题谢谢 – mko 2012-01-08 06:31:35

+1

是的,我需要Ubuntu上的'libssl-dev'。谢谢! – 2012-03-05 21:11:38

2

这解决了这个问题对我来说:

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

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

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 
1

我做

rvm pkg install openssl 
rvm reinstall 1.9.3 

,做!

0

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

1.安装OpenSSL包

rvm pkg install openssl 

2.取出你使用

rvm remove 1.9.3 

3.And终于重新编译红宝石与OpenSSL的

的Ruby安装
rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr 

4.一切都应该现在就工作。不要忘了:

RVM使用1.9.3 --default

相关问题