erreur d’installation ruby ​​2.0 rails gem “impossible de charger un tel fichier – openssl”

J’utilise Ruby 2.0 installé avec osx 10.8.2 et …. eu ceci en essayant de lancer “rails d’installation de sudo gem”

$ sudo gem install rails ERROR: Loading command: install (LoadError) cannot load such file -- openssl ERROR: While executing gem ... (NoMethodError) undefined method `invoke_with_build_args' for nil:NilClass 

Ruby 1.9.x et rails 3.2.x fonctionnaient bien avant

Vous devez d’abord installer OpenSSL et recomstackr Ruby:

RVM:

 rvm pkg install openssl rvm reinstall ruby-2.0.0-p0 --with-gcc=gcc-4.7 --with-openssl-dir=$rvm_path/usr 

Si vous utilisez RVM, veuillez suivre:

 $ brew install automake $ rvm pkg install openssl $ rvm requirements run $ rvm reinstall all --force $ gem install rails 

Cela a fonctionné pour moi.

J’ai eu très mal avec cette erreur. Finalement j’ai fini avec ça. Il n’y a qu’une seule solution que vous soyez avec RVM ou sans RVM.

Assurez-vous d’avoir d’abord installé OpenSSL AVANT d’installer ruby.

RVM

  1. Désinstaller rvm

    rvm implode

ou

 rm -rf ~/.rvm 

N’oubliez pas de supprimer les appels de script dans votre fichier .bashrc et / ou .bash_profile (ou quel que soit le shell que vous utilisez). sudo apt-get install zlib1g zlib1g-dev essentiel-à-la-base openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev curl git-core propriétés-software-python libpq-dev nodejs

Ensuite, installez RVM, post ruby.

OU

 rvm pkg install openssl rvm reinstall ruby-2.0.0-p0 --with-gcc=gcc-4.7 --with-openssl-dir=$rvm_path/usr 

SANS RVM

Vous devez d’abord trouver où est Ruby:

 whereis ruby 

va énumérer tous les endroits où il existe sur votre système, alors vous pouvez les supprimer tous explicitement. Ou vous pouvez utiliser quelque chose comme ceci:

 rm -rf /usr/local/lib/ruby rm -rf /usr/lib/ruby rm -f /usr/local/bin/ruby rm -f /usr/bin/ruby rm -f /usr/local/bin/irb rm -f /usr/bin/irb rm -f /usr/local/bin/gem rm -f /usr/bin/gem 

PUIS

 sudo apt-get install zlib1g zlib1g-dev build-essential openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev curl git-core python-software-properties libpq-dev nodejs apt-get -y update apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev cd /tmp wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz tar -xvzf ruby-2.0.0-p247.tar.gz cd ruby-2.0.0-p247/ ./configure --prefix=/usr/local make make install 

J’espère que cela vous aidera.

Sur OSX, avec rbenv et homebrew, ce qui suit a fonctionné pour moi:

 brew install openssl CONFIGURE_OPTS=--with-openssl-dir=$(brew --prefix openssl) rbenv install whatever-ruby-version 

Lors de l’installation de ruby ​​2.0, il est possible que l’installation de rubygems 2.0 n’ait pas abouti, à cause de openssl. Assurez-vous de fournir un chemin d’access valide au fichier de configuration openssl. vous pourriez:

 find . -type f -name "openssl.cnf" 

chemin est habituellement $ HOME / .rvm / usr ou $ HOME / .rvm / usr / ssl

alors

 [sudo] rvm reinstall ruby-2.0.0-p0 --with-openssl-dir=[openssl.cnf path] --verify-downloads 1 

Assurez-vous que l’installation de rubygems est terminée avec succès. Peut-être une meilleure façon de réparer ce chemin sans réinstaller, mais cela devrait le faire.

Assurez-vous de consulter cette page sur le site rvm: https://rvm.io/packages/openssl/

Fonctionnement

rvm requirements run

m’a donné:

Missing required packages: autoconf, automake, libtool, pkg-config, apple-gcc42, readline, libxml2, libxslt, libksba, openssl, sqlite

après brew install autoconf automake ...

J’ai été capable de rvm reinstall 2.0.0 sans erreurs openssl

J’ai eu le même problème avec la même version du système d’exploitation. J’utilise rvm et j’ai suivi les étapes de cette commande:

 $ rvm requirements 

En suivant ces instructions, j’ai couru:

 $ brew update $ brew tap homebrew/dupes $ brew install bash curl git $ brew install autoconf automake apple-gcc42 libtool pkg-config openssl readline libyaml sqlite libxml2 libxslt libksba 

Cela a fonctionné pour moi, ce qui est similaire à certaines des autres réponses déjà affichées.

 rvm pkg install openssl rvm reinstall all --force 

J’ai eu le même problème plus tôt, j’ai essayé tous les extraits et aucun n’a fonctionné. Après avoir cherché un peu, voici ce qui a fonctionné pour moi:

 $ rvm remove 2.0.0 # get rid of unsuccessful installation $ rvm get head --autolibs=3 # get the latest RVM and build required libs $ rvm requirements # just in case, install all other required stuff $ rvm install ruby-2.0.0 $ rvm --default use ruby-2.0.0 

Qu’est-ce que rvm get head --autolibs=3 fait exactement? Je suppose que cela télécharge automatiquement les dépendances, mais j’espérais une réponse claire.

J’ai rencontré la même erreur openssl sur Fedora lorsque je tentais d’utiliser gem install . Il semble que vous deviez installer des paquets supplémentaires avec yum / dnf

 sudo dnf install rubygems rubygem-bundler ruby-devel mariadb-devel 

Après avoir exécuté la commande ci-dessus, gem install devrait maintenant fonctionner.