web-dev-qa-db-fra.com

ne peut pas charger un tel fichier - zlib même après avoir utilisé rvm pkg install zlib

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é.

112
Razor Storm

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
202
Razor Storm

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:

  • réparer votre installation,
  • vous fournir des instructions pour installer zlib à partir de votre système
  • et montrer comment réinstaller Ruby
9
mpapis

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.

1
Isaac Rabinovitch

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 .

1
belgoros
 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
1
Kewin

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

1
mpapis