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.

Paul
sumber
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
tautan ini juga membantu stackoverflow.com/questions/9727908/…
Bruce

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
JosephL
sumber
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.

AdrianVeidt
sumber
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.

Daniel
sumber
13

mencoba

aptitude install zlib1g-dev

Kemudian lanjutkan tentang bisnis Anda.

Dan
sumber
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

Tahu diri sendiri
sumber
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

Saurabh
sumber
6
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

Itu berhasil. Setelah banyak pengejaran angsa liar, saya senang saya menemukan halaman ini.

Rod McLaughlin
sumber
1
FYI - 'package' telah diubah menjadi 'pkg' dalam versi rvm yang lebih baru. Lihat github.com/wayneeseguin/rvm/pull/345
John MacIntyre
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.

Paul
sumber
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

Don Werve
sumber
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.

nkassis
sumber
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.

Tempat pertemuan
sumber
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 .

Maran
sumber
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.

membahayakan
sumber
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