2013-02-28 28 views

回答

48

你必須先安裝OpenSSL和重新編譯紅寶石:

RVM:

rvm pkg install openssl 
rvm reinstall ruby-2.0.0-p0 --with-gcc=gcc-4.7 --with-openssl-dir=$rvm_path/usr 
+1

我建議你在'〜/ .rvm/user/db'中添加'ruby_configure_flags = - with-openssl-dir =「$ rvm_path/usr」',這樣如果你再次重新安裝Ruby來添加另一個軟件包,不要忘記包含OpenSSL。 – georgebrock 2013-07-26 08:45:18

+4

在Windows上如何? – user1429980 2013-12-12 05:46:11

+0

我也有這個問題在Windows上。對我們有幫助嗎? – Automatico 2014-08-24 21:04:52

1

當安裝Ruby 2.0,它是可能的RubyGems的2.0安裝未成功完成,因爲的OpenSSL。 確保您提供了openssl配置文件的有效路徑;你可以:

find . -type f -name "openssl.cnf" 

路徑通常爲$ HOME/.rvm的/ usr或$ HOME/.rvm在/ usr/SSL

然後

[sudo] rvm reinstall ruby-2.0.0-p0 --with-openssl-dir=[openssl.cnf path] --verify-downloads 1 

確保RubyGems的安裝成功完成。 可能是一個更好的方法來修復該路徑而無需重新安裝,但這應該做到這一點。

1

確保對RVM網站看看這個頁面:https://rvm.io/packages/openssl/

運行

rvm requirements run

遞給我:

Missing required packages: autoconf, automake, libtool, pkg-config, apple-gcc42, readline, libxml2, libxslt, libksba, openssl, sqlite

brew install autoconf automake ...

我能夠rvm reinstall 2.0.0沒有OpenSSL的錯誤

30

如果您使用RVM請遵循:

$ brew install automake 
$ rvm pkg install openssl 
$ rvm requirements run 
$ rvm reinstall all --force 
$ gem install rails 

它爲我工作。

+1

謝謝,你的幫助對我來說真的很有用! – duykhoa 2013-03-11 10:19:21

+0

這不是一個錯誤的答案!重新安裝 - 所有 - 力量需要很長的時間,但如果你有很多的紅寶石...準備... – 2013-10-03 05:00:09

+0

Brew只適用於Mac OS。 – wortwart 2016-01-05 20:16:14

1

我有相同的操作系統版本相同的問題。我用RVM和遵循的步驟在此命令:

$ rvm requirements 

按照這些指示,我跑:

$ brew update 
$ brew tap homebrew/dupes 
$ brew install bash curl git 
$ brew install autoconf automake apple-gcc42 libtool pkg-config openssl readline libyaml sqlite libxml2 libxslt libksba 
1

這個工作對我來說這是類似一些已經張貼其他的答案。

rvm pkg install openssl 
rvm reinstall all --force 
1

我以前有同樣的問題,嘗試了所有的片段,沒有一個解決。環視了一下後,以下爲我工作:

$ rvm remove 2.0.0 # get rid of unsuccessful installation 
$ rvm get head --autolibs=3 # get the latest RVM and build required libs 
$ rvm requirements # just in case, install all other required stuff 
$ rvm install ruby-2.0.0 
$ rvm --default use ruby-2.0.0 

是什麼rvm get head --autolibs=3做什麼呢?我猜想它會自動下載依賴關係,但我希望得到明確的答案。

5

我有很糟糕的時候,此錯誤。 最後我完成了它。只有一次解決方案,無論是使用RVM還是不使用RVM。

確保您已經安裝了OpenSSL之前先安裝Ruby。

RVM

  1. 卸載RVM

    RVM破滅

rm -rf ~/.rvm 

d不要忘記刪除.bashrc和/或.bash_profile(或任何你使用的shell)的腳本調用。 命令和apt-get安裝的zlib1g的zlib1g-dev的建立必要的OpenSSL的libssl-dev的libmysqlclient18的libmysqlclient-dev的libyaml-dev的捲曲的git-Python核心軟件的屬性的libpq-dev的

的NodeJS

然後安裝RVM,後紅寶石。

OR

rvm pkg install openssl 
rvm reinstall ruby-2.0.0-p0 --with-gcc=gcc-4.7 --with-openssl-dir=$rvm_path/usr 

WITHOUT RVM

首先,你應該找哪裏Ruby是:

whereis ruby 

會列出它存在於您的系統上的所有地方,那麼你就可以明確地刪除它們。或者你可以使用這樣的事情:

rm -rf /usr/local/lib/ruby 
rm -rf /usr/lib/ruby 
rm -f /usr/local/bin/ruby 
rm -f /usr/bin/ruby 
rm -f /usr/local/bin/irb 
rm -f /usr/bin/irb 
rm -f /usr/local/bin/gem 
rm -f /usr/bin/gem 

THEN

sudo apt-get install zlib1g zlib1g-dev build-essential openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev curl git-core python-software-properties libpq-dev nodejs 

apt-get -y update 
apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev 
cd /tmp 
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz 
tar -xvzf ruby-2.0.0-p247.tar.gz 
cd ruby-2.0.0-p247/ 
./configure --prefix=/usr/local 
make 
make install 

我希望這可以幫助您。

3

在OSX,與rbenv和自制軟件,以下爲我工作:

brew install openssl 
CONFIGURE_OPTS=--with-openssl-dir=$(brew --prefix openssl) rbenv install whatever-ruby-version 
0

我遇到了同樣的OpenSSL錯誤嘗試在Fedora上使用gem install <package>時。看來你需要使用yum/DNF

sudo dnf install rubygems rubygem-bundler ruby-devel mariadb-devel 

安裝額外的軟件包運行上面的命令後,gem install <package>現在應該工作。

相關問題