web-dev-qa-db-ja.com

OpenSSLを要求できず、OpenSSLをインストールしてRuby(推奨)を再構築するか、HTTPS以外のソースを使用できません

jekyllをインストールしようとしていますが、エラーが発生しました。 Mac OS X 10.11.4(El Capitan)を実行しています。

$gem install jekyll
ERROR : While executing gem ... (Gem::Exception)
        Unable to require openssl, install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources
$gem source -l
https://Ruby.taobao.org
$which openssl
/usr/local/bin/openssl

このエラーを解決する方法を提案してください。

53
Chars Davy

OSXの新しいバージョンではopenSSLが廃止され、多くの依存関係が壊れています。 Rubyを再インストールする必要がありますが、openSSLライブラリの場所を正確に指定してください。 rvmを使用している場合、次のようになります。

rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl

Homebrewを使用している場合、ライブラリの場所への簡単なショートカットは次のとおりです。

brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`
143
Meekohi

方法1(OpenSSLのインストール)

ターミナル(OSX)でこれらすべてのコマンドを入力して、すべてを完了したことを確認してください。

rvm get stable
brew update
brew doctor
brew install openssl
rvm install Ruby-2.4 (or whatever version)
rvm use Ruby-2.4 (or whatever version)
rvm gemset create jekyll
gem install jekyll

最後に、Jekyll(または他のgem)をインストールする前にRubyをコンパイルする前にOpenSSLをインストールする必要があります!

方法2(Rubyの再インストール)

OSXの新しいバージョンはopenSSLを非推奨にしました。

Rubyを再インストールする必要があります!

OpenSSLを使用したRVM

rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl

最新のRVMバージョンを使用

rvm get stable
rvm reinstall Ruby-2.3.0

homebrewとOpenSSL

brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`
31
Suriyaa

このenv変数を設定するだけで、コンパイラがopensslライブラリの正しいパスを取得できます(macOSでHomebrewを使用している場合は、brew info opensslを試してこの情報を確認してください)。

$ export LDFLAGS=-L/usr/local/opt/openssl/lib
$ export CPPFLAGS=-I/usr/local/opt/openssl/include
# For pkg-config to find this software you may need to set:
$ export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig

次に、Ruby(rvm reinstall Ruby-version)を再インストールします

9
guapolo
brew install openssl

brew info openssl # do the suggested options
$ export LDFLAGS=-L/usr/local/opt/openssl/lib
$ export CPPFLAGS=-I/usr/local/opt/openssl/include
# For pkg-config to find this software you may need to set:
$ export PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig

rvm reinstall <version> --with-openssl-dir=`brew --prefix openssl`
0
Yoganand

Opensslに関連する他の回答を考慮すると、場合によっては、次のようにスーパーユーザーとして実行しようとすると同じエラーが表示されます。

filipe@FILIPE:~$ Sudo gem install bundler 
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild Ruby (preferred) or use non-HTTPS sources

スーパーユーザーのアクセス許可がない場合、次のように異なる動作、成功した動作を確認できます。

filipe@FILIPE:~$  gem install bundler 
Fetching: bundler-1.14.6.gem (100%)
Successfully installed bundler-1.14.6
Parsing documentation for bundler-1.14.6
Installing ri documentation for bundler-1.14.6
Done installing documentation for bundler after 4 seconds
1 gem installed
0
Filipe Aguiar