La instalación de Ubuntu rails falla en zlib


128

Me acabo de mudar a Ubuntu 8.10 como mi caja de desarrollo; es mi primera incursión seria en Linux como sistema operativo de uso diario, y estoy teniendo dificultades para poner en marcha Rails. He seguido una serie de tutoriales que parecen funcionar bien, pero cuando intento usar la instalación de gemas o la actualización de gemas en cualquier cosa, aparece un error similar al siguiente:

/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

Tengo (como se recomienda en los tutoriales) instalado zlib, zlib1g y zlib1g-dev. Incluso he encontrado algunos tutoriales sobre este problema en particular (todos para sabores distintos al mío, sin embargo) pero no me ayudaron.

Estoy en Ubuntu 8.10, ruby ​​versión 1.8.8dev gem versión 1.3.2

He intentado reinstalar rubíes y gemas cada uno y por separado, sin éxito.


23
"La instalación de Ubuntu noob rails falla en zlib" Wow. Es como el poema más bello de todos.
Nosredna el

3
apt-get install zlib1g zlib1g-dev funcionó para mí en Ubuntu 10.04
bioneuralnet


este enlace también ayuda a stackoverflow.com/questions/9727908/…
Bruce

Respuestas:


297

Si se encuentra con esta pregunta tratando de instalar Ruby usando Ruby Version Manager (RVM) en Ubuntu 10.04, entonces hay instrucciones sobre cómo instalar zlib en el sitio web de rvm http://rvm.beginrescueend.com/packages/zlib/

Los pasos son:

rvm pkg install zlib

(o rvm package install zlibsi obtiene "ERROR: argumento de línea de comando no reconocido: 'pkg'" - las versiones anteriores de rvm usaban el verbo 'package' en su lugar)

luego

rvm remove 1.9.1
rvm install 1.9.1

33
genial, el mismo enfoque funcionó para mí con una pequeña variación para 1.9.2: vm package install zlib; rvm eliminar 1.9.2-p0; rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
maravilloso, me preguntaba por qué rvm no estaba funcionando en Debian incluso con zlib instalado a través de apt
Martin DeMello

11
tuve el mismo problema, finalmente descubrí que esto funcionó para mí:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

¡Muchas gracias! Yo tuve el mísmo problema. Solo tuve que reemplazar "1.9.1" con "ree" en Ubuntu. +1!
kikito

1
¡Gracias por incluir la pkgsegunda opción!
Justin

52

Estoy usando Ubuntu 10.04 (Lucid), quería instalar ruby ​​1.9.2 porque 1.9.1 no se recomienda con Rails. Así que descargué la fuente para 1.9.2 y la descomprimí / descomprimí. mi fuente de distribución es ruby-1.9.2-p0. Después de descomprimirlo, construí zlib de la siguiente manera:

cd ruby-1.9.2-p0/ext/zlib
ruby extconf.rb
make
sudo make install
sudo gem install rails

Eso solucionó el problema. Esto es similar a lo que otras personas publicaron anteriormente, pero no exactamente, así que pensé que también podría publicar exactamente lo que hice para que funcione.


2
Este es el mejor recurso que encontré. Instalé ruby ​​desde la fuente sin rvm, y tengo un problema con zlib. Esta publicación ayuda mucho. ¡Gracias!
cristian

1
¡Gracias! Soluciona el problema en 1.9.2-p136 / Ubuntu 10.04.1.
mgutz

Gracias. Soluciona el problema en 1.9.2-p180 / Red Hat 4.1.2-46 también.
adelarsq

Esto funcionó para Ubnutu 11.04 / Ruby 1.9.2-p180. Lo intenté apt-get install zlib1g zlib1g-devpero no funcionó (es posible que zlib1g-devno se haya instalado antes de compilar Ruby).
Max Masnick

Parece que necesitas esto incluso cuando instalas ruby ​​desde la fuente. No estoy seguro de por qué no está instalado de forma predeterminada
nimrodm

22

Tengo el mismo problema en CentOS y lo soluciono ejecutando el siguiente comando:

Primero, me aseguro de que existan zlib y zlib-devel (como muchos sugeridos anteriormente).

yum install zlib zlib-devel

En segundo lugar, recompilé e instalé las fuentes de zlib que viene con 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

Esos comandos parecen solucionar el problema, luego ejecuto gem update --systemy el error con zlib desapareció. Luego instalo rieles con rieles de instalación de gemas. Tenga en cuenta que he instalado gem antes, y después de recompilar e instalar zlib, no recompilo ni instalo gem (en realidad, no sabía cómo desinstalarlo porque no encontré un script para hacerlo)

Eso funciona para mí ... espero que lo hagas.

Saludos.


13

tratar

aptitude install zlib1g-dev

Entonces ve por tus asuntos.


De hecho, tuve que hacer esto antes de poder compilar el zlib que vino con la fuente de ruby
Jeremy White

8

Realmente no me gustó ninguna de estas respuestas ... ninguna realmente se centró en las necesidades y preguntas reales de los usuarios ... solo las personas que dijeron lo que hicieron ... sin contexto y ni siquiera funcionó para mí ...

Entonces, ..

Estoy instalando una nueva caja Ubuntu 8.04 LTS de 64 bits ...

Asique ...

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  

Y luego tengo este problema con ...

gem list

no funciona ... algo sobre zLib no se encuentra basura ...

Entonces, en realidad LEA el archivo README y descubro que necesito editar un archivo ...

[my ruby source directory]/ext/Setup

y descomente la línea con zLib ... quitando el "#" en la primera columna

Luego ejecuto los comandos nuevamente ... incluidos aquí como referencia ...

./configure
make  
install  
sudo make install  

y todo está bien ... es lógico ... y está desprovisto de "rvm" y otros ... "simplemente instale más cosas para que funcione" soluciones de tipo.

Joet


No me ayuda. También leí el archivo Léame, y seguí sus instrucciones, pero incluso después de que todavía no puedo hacer que las gemas de rubí funcionen, todavía dice que no zlib ...
Jenny

En realidad, la respuesta es relevante ya que este es un problema común cuando se usa rvm. Su respuesta es más adecuada para personas que no usan rvm.
foamdino

7

Simplemente vaya a Ruby Source Package, descomprímalo.

Goto / your-ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

Si faltan los paquetes, le dirá, principalmente los paquetes relacionados con libzlib

Saludos

Saurabh



4

sí, y eso tampoco hizo el trabajo. Conseguí esto de otra fuente, esto finalmente lo hizo por mí donde fallaron las otras cosas.

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

Vuelva a instalar gemas de rubí desde la fuente

Gracias de todos modos, muchachos.


1
Tuve un problema al ejecutar extconf.rb. Lo resolvió (probablemente) instalando zlib-devel.
gregers

igual que aquí. Intenté todo lo demás, y finalmente blue.sky.or.jp me salvó. Gracias.
abhishek

2

El problema es que Ruby en Ubuntu no está construido contra zlib; querrás hacer una compilación de origen para instalar Ruby. Puedes hacer esto conapt-get source -b ruby


ok, de nuevo, Linux noob. No tengo idea de lo que acabas de decir. jajaja Quiero decir, entiendo el comando; ¿Pero qué hago después de eso?
Paul el

bueno, incluso eso no funcionó. Recibí el error "Comando de compilación 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' fallido"
Paul

2

¿Intentaste apt-get install libzlib-ruby?

También instale rubygems desde rubyforge. No me gusta el paquete rubygems en Ubuntu.


2

En Debian (Squeeze):

libruby contiene zlib para ruby ​​entre todas las demás cosas que necesitará para que ruby ​​funcione correctamente en Debian. Entonces...

apt-get install libruby

Luego...

cd /usr/local/src/ruby
make clean
make
make install
cd ../rubygems
ruby setup.rb
gem install rails

Esto hizo que funcionara para mí, pero su kilometraje puede variar. Me acerqué un poco a la escopeta zlib antes de encontrar que todo lo necesario estaba cubierto por libruby.


1

Podría intentar descargar el paquete de ruby ​​enterprise deb en el sitio de phusion . E instale el pasajero a través del paquete. Sigue las instrucciones aquí . O puede probar el script bash que se encuentra aquí .


0

Al ejecutar Rails, no recomendaría usar Ruby 1.8.8dev. Quédate con 1.8.6, preferiblemente la Ruby Enterprise Edition. Vea esta publicación en RailsLab sobre lo que otras personas están usando.

Si insiste en ir a alta tecnología, instale Ruby 1.9.1.

Pero en ambos casos, constrúyalo usted mismo o use la sugerencia de Marans.


Este es un mal consejo, NO use 1.9.1 con rieles. 1.9.2+ funciona bien, sin embargo.
xaxxon

Ese comentario fue colocado hace 2 años ... Ahora 1.9.3 sería el camino a seguir, por supuesto.
daños

Claro, estoy bien con eso. Pero es importante que alguien sepa que está mal.
xaxxon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.