J'ai installé le paquet zlib et Ruby 1.9.3 en utilisant rvm, mais chaque fois que j'essaye d'installer des gems, il est écrit cannot load such file -- zlib
Les commandes que j'avais l'habitude d'installer sont
$ rvm install 1.9.3
$ rvm pkg install zlib $ rvm réinstaller 1.9.3 --with-readline-dir =/home/nom_utilisateur/.rvm/usr\ - -with-iconv-dir =/home/nom d'utilisateur/.rvm/usr\ --with-zlib-dir =/home/nom d'utilisateur/.rvm/usr\ --with-openssl -dir =/home/nom_utilisateur/.rvm/usr $ rvm utiliser 1.9.3 $ gem installer heroku ERREUR: Chargement commande: install (LoadError) ne peut pas charger un tel fichier - zlib ERREUR: lors de l'exécution de gem ... (NameError) constante non initialisée Gem :: Commands :: InstallCommand
Toute l'aide sur ce sujet me dit de simplement faire rvm pkg install zlib
, puis réinstallez le Ruby avec --with-zlib-dir=/home/username/.rvm/usr
, mais cela n'a pas fonctionné.
J'ai fini par installer zlib à partir d'apt-get puis en réinstallant Ruby pour et non utiliser le répertoire rvm pour zlib.
Voici comment faire:
$ Sudo apt-get install zlib1g-dev
$ rvm reinstall 1.9.3
[Edit] Comme le commente @chrisfinne, sur les systèmes CentOS/RedHat:
$ Sudo yum install zlib-devel
$ rvm reinstall 1.9.3
Les deux autres réponses étaient presque exactes ...
Le site rvm pour zlib fournit une solution rapide!
En haut de la page se trouve une "solution rapide", suivez ses instructions:
Ruby a un tas de dépendances de paquets comme celle sur zlib-devel. Ils sont méchants parce que rien n'indique que vous ayez besoin de la bibliothèque avant d’obtenir un message d’erreur obscur lorsque vous essayez de faire quelque chose de routinier.
La solution consiste à utiliser rvm . Utilisez-le même si vous n’avez besoin que d’une seule version de Ruby. Pourquoi? Parce qu'alors tu peux faire
rvm requirements
Cela analysera votre système d'exploitation et produira un ensemble de commandes que vous pourrez recopier sur la ligne de commande pour installer ces packages manquants.
La solution qui a fonctionné pour moi est décrite dans rvm github repo, numéro n ° 3389 .
Courir
rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8
pour la version Ruby ) 2.3.0 .
rvm pkg installer openssl && rvm pkg installer zlib && rvm pkg installer libyaml && rvm pkg installer iconv rvm installer 1.9.3-p0 --with-opt-dir = $ HOME/.rvm/usr\ --With-libxml2-dir =/usr/local/Cellar/libxml2/2.7.8\ --With-readline-dir =/usr/local /Cellar/readline/6.2.1
Utilisez autolibs pour installer des dépendances:
rvm autolibs enable
rvm reinstall 1.9.3
RVM installera automatiquement les dépendances manquantes et les utilisera pour compiler Ruby.
Plus de détails sur autolibs => http://rvm.io/rvm/autolibs