web-dev-qa-db-ja.com

Ruby and "再コンパイルする必要がありますRuby OpenSSLサポートを使用するか、Gemfileのソースを変更してください"

Rvmを使用して、Rubyを1.9.3-p392にアップグレードし、2.0.0も追加しました。バンドルコマンドを実行するときにこのバージョンを使用しようとすると、このエラーが発生します。

Could not load OpenSSL.
You must recompile Ruby with OpenSSL support or change the sources in your Gemfile from 'https' to 'http'. Instructions for compiling with OpenSSL using RVM are
available at rvm.io/packages/openssl.

これを修正する方法について、いくつかの異なる指示に従いました。バージョンを削除して、rvmオプションでインストールしようとしました

--with-openssl-dir=$HOME/.rvm/usr

OpenSSLをrvmおよびmacportsと共にインストールしました。どちらも問題を解決していません。私もこれを使用してSSL証明書のファイルの場所を変更しました:

export SSL_CERT_FILE=/Users/DarkLord/.rvm/usr/ssl/cert.pem

何をしても、エラーが発生し続けます。誰かがこれを修正するのを手伝ってくれますか?

32
covard

これを再び機能させるには、homebrewをインストールし、Macポートを邪魔にならないようにしなければなりませんでした。次に、1.9.3-p392および2.0.0-p0を削除した後、次の手順を実行します。

rvm get head --autolibs=3
rvm install 1.9.3 --with-opt-dir=/usr/bin
rvm install 2.0.0

私のMacポートとopensslおよびmakeとconfigureで動作しないものがありました。これは、opensslの問題やmake/configureの問題を取得せずにrvmをRubyに再度インストールできるようにする唯一の方法でした。

9
covard

これは私のために働く:

rvm get stable

brew install libyaml

rvm pkg install openssl

rvm install Ruby-2.0.0 --with-openssl-dir=$HOME/.rvm/usr

rvm use Ruby-2.0.0

すべてのクレジットは https://coderwall.com/p/tptocq に移動します

48
Anh Nguyen

これにより、Macに1.9.3-headをインストールできます。

rvm get latest    
brew install openssl    
rvm reinstall 1.9.3-head --with-openssl-dir=`brew --prefix openssl`
39
virtax

私の場合、後:

 1. brew install openssl
 2. rvm install Ruby-2.6.0

bundle installはこのエラーで失敗しました。問題は、opensslがグローバルに設定されていたため、opensslディレクトリを明示的に設定して、新しいRubyバージョンをインストールする必要があったことです。

だから私がしなければならなかったことは:

 1. rvm reinstall Ruby-2.6.0 --with-openssl-dir=/usr/local/opt/openssl
 2. rvm reload

usr/local/opt/opensslはインストール先です。

その後 bundle installは正常に実行されました。

警告このパスでこのコマンドを試したとき/usr/localいくつかの答えが示唆したように、うまくいきませんでした。

7
dktistakis

次の質問によると: どのopenssl libがRVMがインストールされたRubyによって実際に使用されているかを知る方法

オプション--with-openssl-dir=...は、Ruby 1.9.3。

rvm install 1.9.3 --with-opt-dir=/usr/local --with-openssl

そしてそれは働いた。

4
LiAh Sheep

次の手順がうまくいきました。

最初にbrew install opensslを実行してopensslがインストールされていることを確認してから、rvmを使用してRubyバージョンを再インストールしますが、今回はwith-opt-dirマシンでopensslがインストールされた場所を指すフラグ(この場所を見つけるにはコマンドwhich opensslを使用します)。

rvm install 1.9.3-p392 --with-openssl-dir=/usr/local/opt/openssl
1
Dinobi

それが私を助けたものです:

rvm reinstall 2.5

brew tap raggi/ale
brew install openssl-osx-ca
brew services start openssl-osx-ca

ここでこのソリューションを見つけました: https://github.com/raggi/openssl-osx-ca#readme

0
Andrey Veselov

MacOS 10.14では、Ruby 2.5.3、およびOpenSSL 1.0.2nはこれでうまくいきました:

./configure --with-openssl --with-openssl-dir=/usr/local/ssl

しかし、私はエラーメッセージが私に言っていることだけを試していました:

*** Following extensions are not compiled:
openssl:
    Could not be configured. It will not be installed.
    /Users/brian/Desktop/Ruby/ruby-2.5.3/ext/openssl/extconf.rb:97: OpenSSL library could not be found. You might want to use --with-openssl-dir=<dir> option to specify the prefix where OpenSSL is installed.
    Check ext/openssl/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
make[1]: *** [note] Error 1
0
brian d foy