Pemasangan rel Ubuntu gagal di zlib


128

Saya baru saja pindah ke Ubuntu 8.10 sebagai kotak dev saya; ini adalah perampokan serius pertama saya ke Linux sebagai OS yang digunakan sehari-hari, dan saya mengalami kesulitan dalam menjalankan Rails. Saya telah mengikuti sejumlah tutorial yang semuanya tampaknya berfungsi dengan baik, tetapi ketika saya mencoba dan menggunakan permata menginstal atau memperbarui permata pada apa pun, saya mendapatkan kesalahan yang terlihat seperti ini:

/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

Saya telah (seperti yang disarankan dalam tutorial) menginstal zlib, zlib1g, dan zlib1g-dev. Saya bahkan menemukan beberapa tutorial tentang masalah khusus ini (semua untuk rasa selain milik saya), tetapi mereka tidak membantu.

Saya di Ubuntu 8.10, ruby ​​versi 1.8.8dev gem versi 1.3.2

Saya sudah mencoba menginstal ulang ruby ​​dan permata masing-masing dan secara terpisah, tetapi tidak berhasil.


23
"Instalasi noob rail Ubuntu gagal di zlib" Wow. Itu seperti puisi paling indah yang pernah ada.
Nosredna

3
apt-get install zlib1g zlib1g-dev bekerja untuk saya di Ubuntu 10.04
bioneuralnet


Jawaban:


297

Jika Anda menemukan pertanyaan ini mencoba menginstal Ruby menggunakan Ruby Version Manager (RVM) di Ubuntu 10,04 maka ada instruksi tentang cara menginstal zlib di situs web rvm http://rvm.beginrescueend.com/packages/zlib/

Langkah-langkahnya adalah:

rvm pkg install zlib

(atau rvm package install zlibjika Anda mendapatkan "ERROR: Argumen baris perintah yang tidak dikenal: 'pkg'" - versi rvm yang lebih lama menggunakan kata kerja 'package' sebagai gantinya)

kemudian

rvm remove 1.9.1
rvm install 1.9.1

33
hebat, pendekatan yang sama bekerja untuk saya dengan variasi kecil untuk 1.9.2: paket vm install zlib; rvm menghapus 1.9.2-p0; rvm instal 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
Hebat, saya bertanya-tanya mengapa rvm tidak bekerja pada debian bahkan dengan zlib diinstal melalui apt
Martin DeMello

11
mengalami masalah yang sama, akhirnya menemukan ini bekerja untuk saya:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

Terima kasih banyak! Saya punya masalah yang sama. Saya hanya harus mengganti "1.9.1" dengan "ree" di Ubuntu. +1!
kikito

1
Terima kasih telah memasukkan pkgopsi kedua!
Justin

52

Saya menggunakan Ubuntu 10.04 (Lucid), saya ingin menginstal ruby ​​1.9.2 karena 1.9.1 tidak direkomendasikan dengan Rails. Jadi saya mengunduh sumber untuk 1.9.2 dan membuka ritsleting / membatalkan pengarsipan. distro sumber saya adalah ruby-1.9.2-p0. Setelah saya membongkar, saya membangun zlib sebagai berikut:

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

yang memperbaiki masalah. Ini mirip dengan apa yang orang lain posting di atas, tetapi tidak persis, jadi saya pikir saya mungkin juga memposting persis apa yang saya lakukan untuk membuatnya berjalan.


2
Ini adalah sumber terbaik yang saya temukan. Saya menginstal ruby ​​dari sumber tanpa rvm, dan mendapatkan masalah dengan zlib. Posting ini banyak membantu. Terima kasih!
cristian

1
Terima kasih! Memperbaiki masalah pada 1.9.2-p136 / Ubuntu 10.04.1.
mgutz

Terima kasih. Memperbaiki masalah pada 1.9.2-p180 / Red Hat 4.1.2-46 juga.
adelarsq

Ini bekerja untuk Ubnutu 11.04 / Ruby 1.9.2-p180. Saya mencoba apt-get install zlib1g zlib1g-devtetapi tidak berhasil (mungkin saja zlib1g-devitu tidak diinstal sebelum saya mengkompilasi Ruby).
Max Masnick

Sepertinya Anda memerlukan ini bahkan ketika Anda menginstal ruby ​​dari sumber. Tidak yakin mengapa itu tidak diinstal secara default
nimrodm

22

Saya memiliki masalah yang sama di CentOS dan memperbaikinya dengan menjalankan perintah berikut:

Pertama, saya memastikan bahwa zlib dan zlib-devel ada (seperti banyak yang disarankan di atas).

yum install zlib zlib-devel

Kedua, saya mengkompilasi ulang dan menginstal sumber-sumber zlib yang disertai dengan 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

Perintah itu sepertinya memperbaiki masalah, kemudian saya jalankan gem update --systemdan kesalahan dengan zlib menghilang. Kemudian saya menginstal rel dengan permata menginstal rel. Catatan untuk menyebutkan saya telah menginstal permata sebelumnya, dan setelah mengkompilasi ulang dan menginstal zlib, saya tidak mengkompilasi ulang juga menginstal permata (sebenarnya saya tidak tahu bagaimana menghapusnya karena saya tidak menemukan skrip untuk melakukan itu)

Itu bekerja untuk saya ... berharap untuk Anda.

Salam.


13

mencoba

aptitude install zlib1g-dev

Kemudian lanjutkan tentang bisnis Anda.


saya benar-benar harus melakukan ini sebelum dapat mengkompilasi zlib yang datang dengan sumber ruby
Jeremy White

8

Saya benar-benar tidak menyukai jawaban ini ... tidak ada yang benar-benar fokus pada kebutuhan aktual pengguna dan pertanyaan ... hanya orang yang mengatakan apa yang mereka lakukan ... tidak ada konteks dan bahkan tidak berhasil untuk saya ...

Jadi, ..

Saya memasang kotak baru Ubuntu 8.04 LTS 64-bit ...

Jadi saya ...

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  

Dan kemudian saya punya masalah dengan ...

gem list

itu tidak berfungsi ... sesuatu tentang zLib tidak ditemukan omong kosong ...

Jadi, saya benar-benar BACA README dan menemukan bahwa saya perlu mengedit file ...

[my ruby source directory]/ext/Setup

dan UN-KOMENTAR baris dengan zLib di dalamnya ... dengan menghapus "#" di kolom pertama

Lalu saya menjalankan perintah lagi ... termasuk di sini untuk referensi ...

./configure
make  
install  
sudo make install  

dan semuanya baik-baik saja ... logis ... dan tanpa "rvm" dan lainnya ... "instal lebih banyak barang untuk membuatnya berfungsi" ketik solusi.

Joet


Tidak membantu saya. Saya membaca readme juga, dan mengikuti instruksi itu, tetapi bahkan setelah saya masih tidak bisa mendapatkan permata ruby ​​untuk bekerja, dengan itu masih mengatakan tidak ada zlib ...
Jenny

Sebenarnya jawabannya relevan karena ini adalah masalah umum ketika menggunakan rvm. Jawaban Anda lebih cocok untuk orang yang tidak menggunakan rvm.
foamdino

7

Hanya pergi Paket Sumber Ruby, Unzip itu.

Goto / dir-ruby-dir / ext / zlib Anda

ruby extconf.rb
make
sudo make install

Jika paket yang hilang itu akan memberi tahu Anda, terutama paket terkait libzlib

Salam

Saurabh



4

ya, dan itu juga tidak berhasil. Mendapat ini dari sumber lain, ini akhirnya berhasil untuk saya di mana hal-hal lain gagal.

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

Instal ulang permata ruby ​​dari sumber

Bagaimanapun, terima kasih.


1
Saya punya masalah menjalankan extconf.rb. Memecahkannya (mungkin) dengan menginstal zlib-devel.
gregers

sama disini. Mencoba yang lain, dan akhirnya blue.sky.or.jp menyelamatkan saya. Terima kasih.
abhishek

2

Masalahnya adalah Ruby di Ubuntu tidak dibuat untuk melawan zlib; Anda ingin melakukan pembangunan sumber untuk menginstal Ruby. Anda dapat melakukannya denganapt-get source -b ruby


ok, sekali lagi, linux noob. Tidak tahu apa yang baru saja Anda katakan. lol. Maksudku, aku mengerti perintahnya; tetapi apa yang harus saya lakukan setelah itu?
Paul

baik, sekarang, bahkan banyak yang tidak berhasil. Saya mendapat kesalahan "Bangun perintah 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' gagal"
Paul

2

Apakah Anda mencoba apt-get install libzlib-ruby?

Juga instal rubygems dari rubyforge. Saya tidak suka paket rubygems di Ubuntu.


2

Di Debian (Pemerasan):

libruby berisi zlib untuk ruby ​​di antara semua hal lain yang Anda perlukan agar ruby ​​berfungsi dengan baik di Debian. Begitu...

apt-get install libruby

Kemudian...

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

Ini membuatnya bekerja untuk saya, tetapi jarak tempuh Anda mungkin berbeda. Saya melakukan pendekatan senapan kecil ke zlib sebelum menemukan bahwa semua yang dibutuhkan ditutupi oleh libruby.


1

Anda dapat mencoba mengunduh paket deb perusahaan ruby ​​di situs phusion . Dan pasang penumpang melalui paket. Ikuti instruksi di sini . Atau Anda dapat mencoba skrip bash yang ditemukan di sini .


0

Saat menjalankan Rails saya tidak akan merekomendasikan menggunakan Ruby 1.8.8dev. Stick dengan 1.8.6, lebih disukai Ruby Enterprise Edition. Lihat posting ini di RailsLab apa yang orang lain gunakan.

Jika Anda bersikeras ingin hi-tech, instal Ruby 1.9.1.

Namun dalam kedua kasus, buat sendiri atau gunakan saran Marans.


Ini saran yang buruk, JANGAN gunakan 1.9.1 dengan rel. 1.9.2+ berfungsi dengan baik.
xaxxon

Komentar itu ditempatkan 2 tahun yang lalu ... Sekarang 1.9.3 akan menjadi cara untuk pergi tentu saja.
bahaya

tentu, saya baik-baik saja dengan itu. Tetapi penting bagi seseorang untuk mengetahui bahwa itu salah.
xaxxon
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.