En utilisant rvm, j'ai mis à niveau mon Ruby vers 1.9.3-p392, également ajouté 2.0.0, chaque fois que j'essaie d'utiliser cette version lorsque j'exécute ma commande de bundle, j'obtiens cette erreur.
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.
J'ai suivi plusieurs instructions différentes sur la façon de résoudre ce problème. J'ai essayé de supprimer la version et de l'installer avec les options rvm
--with-openssl-dir=$HOME/.rvm/usr
J'ai installé OpenSSL avec rvm et macports. Les deux n'ont pas résolu le problème. J'ai même changé l'emplacement du fichier du certificat SSL en utilisant ceci:
export SSL_CERT_FILE=/Users/DarkLord/.rvm/usr/ssl/cert.pem
Peu importe ce que je fais, je continue de recevoir l'erreur. Quelqu'un peut-il m'aider à résoudre ce problème?
La nouvelle façon de procéder, selon un commentaire de @Purplejacket ci-dessus, est la suivante:
rvm autolibs homebrew
rvm install 2.1.1
rvm use 2.1.1
C'est beaucoup plus simple.
Cela fonctionne pour moi:
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
Tous les crédits vont à https://coderwall.com/p/tptocq
Cela m'aide à installer 1.9.3-head sur Mac:
rvm get latest
brew install openssl
rvm reinstall 1.9.3-head --with-openssl-dir=`brew --prefix openssl`
Dans mon cas après:
1. brew install openssl
2. rvm install Ruby-2.6.0
bundle install
a échoué avec cette erreur. Le problème était que openssl était globalement défini, j'ai donc dû installer la nouvelle version Ruby en définissant explicitement le répertoire openssl.
Donc ce que je devais faire était:
1. rvm reinstall Ruby-2.6.0 --with-openssl-dir=/usr/local/opt/openssl
2. rvm reload
En supposant que usr/local/opt/openssl
est l'endroit où il est installé.
Après ça bundle install
s'est exécuté avec succès.
Warning lorsque j'ai essayé cette commande avec ce chemin /usr/local
comme certaines réponses l'ont suggéré, cela n'a pas fonctionné.
Pour que cela fonctionne à nouveau, j'ai dû installer homebrew et déplacer mes ports mac à l'écart. Procédez ensuite comme suit après avoir supprimé 1.9.3-p392 et 2.0.0-p0:
rvm get head --autolibs=3
rvm install 1.9.3 --with-opt-dir=/usr/bin
rvm install 2.0.0
Il y avait quelque chose qui ne fonctionnait pas avec mes ports mac et openssl et make et configure. C'était la seule façon dont j'ai pu obtenir rvm pour installer Ruby encore sans obtenir de problèmes openssl ou créer/configurer des problèmes.
Dans mon cas:
Problème: Après avoir installé Ruby-2.3.1, j'ai exécuté la commande bundle install
puis l'erreur s'est produite.
Solution:
$ brew install openssl
Et puis, réinstallé la version Ruby dont j'ai besoin (2.3.1) avec l'openssl.
$ rvm reinstall 2.3.1 --with-openssl-dir=/usr/local/opt/openssl
Et cela a résolu mon problème!
Selon la question suivante: Comment savoir quelle bibliothèque openssl est réellement utilisée par un Ruby installé sur RVM
Il semble que les options --with-openssl-dir=...
n'est plus valide à partir de Ruby 1.9.3. J'ai essayé
rvm install 1.9.3 --with-opt-dir=/usr/local --with-openssl
et ça a marché.
Les étapes suivantes ont fonctionné pour moi.
Assurez-vous d'abord que openssl
est installé en exécutant brew install openssl
, puis réinstallez la version Ruby en utilisant rvm, mais cette fois-ci, vous devez passer le with-opt-dir
drapeau pointant vers l'emplacement où openssl a été installé sur votre machine (utilisez la commande which openssl
pour trouver cet emplacement).
rvm install 1.9.3-p392 --with-openssl-dir=/usr/local/opt/openssl
Voilà ce qui m'a aidé:
rvm reinstall 2.5
brew tap raggi/ale
brew install openssl-osx-ca
brew services start openssl-osx-ca
Trouvé cette solution ici: https://github.com/raggi/openssl-osx-ca#readme
Sur macOS 10.14, Ruby 2.5.3 et OpenSSL 1.0.2n, cela a fonctionné pour moi:
./configure --with-openssl --with-openssl-dir=/usr/local/ssl
mais j'essayais seulement ce que les messages d'erreur me disaient:
*** 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
J'ai spécifié une version plus récente Ruby dans mon Gemfile, puis j'ai exécuté l'installation du bundle. Tout va bien maintenant.