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.
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`
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)!
Les versions les plus récentes d’OSX sont obsolètes pour openSSL.
Vous devez réinstaller Ruby!
rvm reinstall 2.3.0 --with-openssl-dir=/usr/local/opt/openssl
rvm get stable
rvm reinstall Ruby-2.3.0
brew install openssl
rvm reinstall 2.3.0 --with-openssl-dir=`brew --prefix openssl`
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
)
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`
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