2010-08-12 118 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

相關問題