web-dev-qa-db-fra.com

Impossible d'exiger openssl, installer OpenSSL et reconstruire Ruby (préféré) ou utiliser des sources non HTTPS

J'essaie d'installer jekyll et j'ai rencontré une erreur. J'utilise 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

Vos suggestions pour résoudre cette erreur sont les bienvenues.

36
Chars Davy

Les versions plus récentes d'OSX ont rendu obsolète openSSL, laissant de nombreuses dépendances brisées. Vous devez réinstaller Ruby, mais spécifiez exactement l'emplacement de vos bibliothèques openSSL. Si vous utilisez rvm, cela ressemble à:

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

Si vous utilisez homebrew, un raccourci rapide vers l'emplacement de vos bibliothèques est le suivant:

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

Méthode 1 (installer OpenSSL)

Tapez toutes ces commandes dans votre terminal (OSX) juste pour être sûr d’avoir tout fait:

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

Enfin, vous devez installer OpenSSL avant de compiler Ruby avant d’installer Jekyll (ou d’autres pierres précieuses)!

Méthode 2 (Réinstallation de Ruby)

Les versions les plus récentes d’OSX sont obsolètes pour openSSL.

Vous devez réinstaller Ruby!

RVM avec OpenSSL

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

Avec la dernière version de RVM

rvm get stable
rvm reinstall Ruby-2.3.0

homebrew et OpenSSL

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

Vous devez juste définir ces variables env pour que votre compilateur ait le chemin correct pour les bibliothèques openssl (si vous utilisez Homebrew sur macOS, essayez brew info openssl pour voir cette information):

$ 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

Puis réinstallez votre Ruby (rvm reinstall Ruby-version)

7
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

Considérant les autres réponses liées à openssl, nous pouvons voir la même erreur quand nous essayons d’exécuter en tant que superutilisateur dans certains cas, comme suit:

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

Sans les autorisations de superutilisateur, nous pouvons voir un comportement différent, réussi, comme suit:

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