web-dev-qa-db-fra.com

Ubuntu Rails échoue sous zlib

Je viens de passer à Ubuntu 8.10 en tant que ma boîte de dev; C’est ma première incursion sérieuse dans Linux comme système d’exploitation quotidien, et j’ai du mal à obtenir Rails). J’ai suivi un certain nombre de tutoriels qui semblent tous bien fonctionner, mais lorsque j'essaie d'utiliser gem install ou gem update sur n'importe quoi, j'obtiens une erreur qui ressemble à ceci:

/usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError)
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/spec_fetcher.rb:1
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/commands/update_command.rb:5
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/custom_require.rb:31:in `require'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/command_manager.rb:88:in `[]'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/command_manager.rb:144:in `find_command'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/command_manager.rb:131:in `process_args'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/command_manager.rb:102:in `run'
from /usr/local/lib/Ruby/site_Ruby/1.8/rubygems/gem_runner.rb:58:in `run'
from /usr/local/bin/gem:21

J'ai installé (comme recommandé dans les tutoriels) zlib, zlib1g et zlib1g-dev. J'ai même trouvé quelques tutoriels sur ce problème particulier (tous pour des saveurs autres que les miennes, cependant) mais ils n'ont pas aidé.

Je suis sur Ubuntu 8.10, Ruby version 1.8.8dev gem version 1.3.2

J'ai essayé de réinstaller Ruby et des gemmes chacune et séparément, en vain.

129
Paul

Si vous rencontrez cette question en essayant d'installer Ruby en utilisant Ruby Version Manager (RVM) sur Ubuntu 10.04), des instructions vous indiquent comment installer zlib sur le site Web de RVM. http://rvm.beginrescueend.com/packages/zlib/

Les étapes sont les suivantes:

rvm pkg install zlib

(ou rvm package install zlib si vous obtenez "ERREUR: argument de ligne de commande non reconnu: 'pkg'" - les anciennes versions de rvm utilisaient à la place le verbe 'package')

puis

rvm remove 1.9.1
rvm install 1.9.1
297
JosephL

J'utilise Ubuntu 10.04 (Lucid), je voulais installer Ruby 1.9.2 car 1.9.1 n'est pas recommandé avec Rails. J'ai donc téléchargé le code source de 1.9.2 et décompressé/désarchivé ma distribution source est Ruby-1.9.2-p0. Après l'avoir décompressée, j'ai construit zlib comme suit:

cd Ruby-1.9.2-p0/ext/zlib
Ruby extconf.rb
make
Sudo make install
Sudo gem install Rails

cela a résolu le problème. Ceci est similaire à ce que les autres personnes ont posté ci-dessus, mais pas exactement, alors j’ai pensé que je pourrais aussi bien poster ce que j’ai fait pour que ça marche.

52
AdrianVeidt

J'ai le même problème dans CentOS et je résous le problème en exécutant la commande suivante:

Tout d'abord, je m'assure que zlib et zlib-devel existent (comme beaucoup d'autres suggérés ci-dessus).

yum install zlib zlib-devel

Deuxièmement, j'ai recompilé et installé les sources de zlib fournies avec Ruby.

cd /home/myname/installers/Ruby-1.8.7-p174/ext/zlib/
Ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make
make install

Que les commandes semblent résoudre le problème, alors j'exécute gem update --system et l'erreur avec zlib a disparu. Ensuite, j’installe Rails avec gem, installez Rails. Remarque: j’avais déjà installé gem, puis après avoir recompilé et installé zlib, je ne recompilais pas et n’installez pas gem (en fait, je ne savais pas comment désinstallez-le car je n'ai pas trouvé de script pour le faire)

Cela fonctionne pour moi ... espérons-le.

Cordialement.

22
Daniel

essayer

aptitude install zlib1g-dev

Alors vaque à tes affaires.

13
Dan

Je n'ai vraiment pas aimé ces réponses ... aucune ne s'est vraiment concentrée sur les besoins réels des utilisateurs et leur question ... juste les gens racontant ce qu'ils ont fait ... pas de contexte et cela n'a même pas fonctionné pour moi ...

Alors, ..

J'installe une nouvelle boîte Ubuntu 8.04 LTS 64-bit ...

Donc je ...

cd ~  
wget ftp://ftp.Ruby-lang.org//pub/Ruby/1.9/Ruby-1.9.2-p180.tar.gz  
tar -xvvf Ruby-1.9.2-p180.tar.gz  
cd Ruby-*  
./configure  
make  
install  
Sudo make install  

Et puis j'ai ce problème avec ...

gem list

ça ne marche pas ... quelque chose à propos de zLib pas trouvé la merde ...

Donc, en fait, j'ai lu le README) et je trouve que je dois éditer un fichier ...

[my Ruby source directory]/ext/Setup

et UN-COMMENT la ligne avec zLib dedans ... en supprimant le "#" dans la première colonne

Ensuite, je lance à nouveau les commandes ... incluses ici pour référence ...

./configure
make  
install  
Sudo make install  

et tout va bien ... c'est logique ... et est dépourvu de "rvm" et autres ... "installez simplement plus de choses pour le faire fonctionner" solutions de type.

Joet

8
Knowself

Allez juste Ruby), décompressez-le.

Goto/dir-ruby/ext/zlib

Ruby extconf.rb
make
Sudo make install

Si les paquets manquent, cela vous le dira, principalement des paquets liés à libzlib

Cordialement

Saurabh

7
Saurabh
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

Cela l'a fait. Après de nombreuses poursuites contre des oies sauvages, je suis heureux d’avoir trouvé cette page.

6
Rod McLaughlin

oui, et cela n'a pas fait le travail non plus. Si cela a été obtenu d'une autre source, cela l'a finalement fait pour moi, là où les autres ont échoué.

wget http://www.blue.sky.or.jp/atelier/Ruby/ruby-zlib-0.6.0.tar.gz
tar xvzf Ruby-zlib-0.6.0.tar.gz
cd Ruby-zlib-0.6.0
Ruby extconf.rb && make
Sudo make install

Réinstaller Ruby gems depuis la source

Merci quand même, les gars.

4
Paul

Sur Debian (Squeeze):

libruby contient zlib pour Ruby parmi tous les autres éléments dont vous aurez besoin pour que Ruby fonctionne correctement sous Debian. Donc ...

apt-get install libruby

Ensuite...

cd /usr/local/src/Ruby
make clean
make
make install
cd ../rubygems
Ruby setup.rb
gem install Rails

Cela a fonctionné pour moi, mais votre kilométrage peut varier. Je m'approchai légèrement de zlib avant de constater que tout le nécessaire était couvert par la bibliothèque.

2
Tryst

Avez-vous essayé apt-get install libzlib-ruby?

Installez également les rubygems de rubyforge. Je n'aime pas le paquet rubygems dans Ubuntu.

2
nkassis

Le problème est que Ruby sur Ubuntu n’est pas construit contre zlib; vous voudrez créer une source pour installer Ruby. Vous pouvez le faire avec apt-get source -b Ruby

2
Don Werve

Vous pouvez essayer de télécharger le package Ruby] Enterprise Deb sur le site phusion . Et installer le paquet grâce au package. Suivez les instructions ici . Ou vous pouvez essayer le script bash trouvé ici .

1
Maran

Lors de l'exécution de Rails, je ne recommanderais pas d'utiliser Ruby 1.8.8dev. Stick avec 1.8.6, de préférence le Ruby Enterprise.) Voir ce post sur RailsLab ce que les autres personnes utilisent.

Si vous insistez pour utiliser la haute technologie, installez Ruby 1.9.1.

Mais dans les deux cas, construisez-le vous-même ou utilisez la suggestion de Marans.

0
harm