Je recevais l'erreur suivante lors de l'installation de puma gem
$ gem installer puma Récupération: puma-2.11.2.gem (100%) Construire des extensions natives. Ça pourrait prendre un moment... ERREUR: Erreur lors de l'installation de puma: ERREUR: Echec de la création de l'extension native gem . Ruby extconf.rb recherche de BIO_read () dans -lcrypto ... no vérification de BIO_read () dans -llibeay32 ... no *** extconf.rb a échoué ***
Essayez ce qui suit
gem install puma -- --with-cppflags=-I/usr/local/opt/openssl/include
bundle install
Vous pouvez également spécifier la version de la gemme, comme suit:
gem install puma -v '2.11.3' -- --with-cppflags=-I/usr/local/opt/openssl/include
Je suis sous OS X 10.12.4 et le commentaire ajouté par @mahi a fonctionné pour moi:
gem install puma -v '3.6.0' -- --with-opt-dir=/usr/local/opt/openssl
J'ai eu le même problème sur OSx El Capitan. Afin de résoudre le problème, je devais faire:
brew install openssl
brew link --force openssl
Ce pourrait être une erreur ssl ouverte
gem install puma -v 2.11.2 -- --with-opt-dir=/usr/local/opt/openssl
J'ai rencontré une erreur similaire sous Mac OS X 10.10.
Les détails dans le mkmf.log
ont montré que cela était dû à:
L'acceptation de la licence Xcode/iOS nécessite des privilèges d'administrateur, s'il vous plaît réexécutez en tant que root via Sudo.
Ce qui était causé par l'installation d'une nouvelle version de Xcode . Cela a été facilement résolu en acceptant la licence Xcode d'Apple:
Sudo xcodebuild -license
J'espère que cela pourra aider quelqu'un à l'avenir ;-)
Lorsque vous utilisez bundler et homebrew:
$ bundle config build.puma --with-cppflags=-I$(brew --prefix openssl)/include
$ bundle install
J'ai copié et adapté cette réponse de Lloeki ici: https://stackoverflow.com/a/31516586/704499
l’installation de libssl1.0-dev m’a aidé. Essayer
apt-get install libssl1.0-dev
et alors
gem install puma
Je devais le faire auparavant: Sudo apt-get install libgmp3-dev
As-tu essayé
DISABLE_SSL=true gem install puma
Spécifiez la version si vous avez des exigences spécifiques à la version, telles que:
DISABLE_SSL=true gem install puma -v version_number
La gemme cherche des bibliothèques ssl. Nous devons donc fournir le chemin vers la bibliothèque contenant la bibliothèque ssl
par exemple./usr/share/openssl
Dans mon cas, la librairie ssl "libcrypto" était dans/usr/local/lib. Passons donc à/usr/local (en excluant lib Word).
Pour gem installer
gem install puma -- --with-opt-dir=/usr/local
Pour une installation groupée
bundle config build.puma --with-opt-dir =/usr/local bundle install
remarquez le nom build. puma . où puma est le nom de la gemme.
La commande build config ajoute ce qui suit à ~/.bundle/config
--- BUNDLE_BUILD__PUMA: "--with-opt-dir =/usr/local"
Exécutez brew info openssl
et suivez les instructions. N'essayez pas de relier --force
le dernier openssl avec celui fourni avec OSX par défaut. (0.9.8)
Plus précisément, il vous sera demandé d’ajouter la version Homebrew d’openssl (devrait être 1.0.2 à compter de cette date) dans votre $ PATH.echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
Remarque: Assurez-vous de supprimer toutes les lignes export PATH
du bash_profile, car cette ligne ci-dessus l'exporte pour vous en ajoutant le reste de la variable $ PATH à la fin. Pour afficher le profil bash, utilisez vi ~/.bash_profile
Cela corrigeait les problèmes d'installation de gemmes Ruby nécessitant une compilation. (Puma dans ce cas)