Cài đặt đường ray Ubuntu không thành công trên zlib


128

Tôi vừa mới chuyển sang Ubuntu 8.10 làm hộp dev của mình; Đây là bước đột phá nghiêm trọng đầu tiên của tôi vào Linux với tư cách là một hệ điều hành sử dụng hàng ngày và tôi đang gặp khó khăn khi sử dụng Rails. Tôi đã làm theo một số hướng dẫn mà tất cả dường như hoạt động tốt, nhưng khi tôi thử và sử dụng gem install hoặc gem update trên bất cứ thứ gì, tôi gặp một lỗi giống như thế này:

/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

Tôi đã (như được đề xuất trong hướng dẫn) đã cài đặt zlib, zlib1g và zlib1g-dev. Tôi thậm chí đã tìm thấy một vài hướng dẫn về vấn đề đặc biệt này (tuy nhiên tất cả đều cho các hương vị khác với tôi) nhưng chúng không giúp được gì.

Tôi đang dùng Ubuntu 8.10, phiên bản ruby ​​1.8.8dev phiên bản 1.3.2

Tôi đã thử cài đặt lại ruby ​​và đá quý mỗi lần, nhưng không có kết quả.


23
"Cài đặt đường ray Ubuntu noob không thành công trên zlib" Wow. Đó giống như bài thơ đẹp nhất từng có.
Nosredna

3
apt-get install zlib1g zlib1g-dev đã làm việc cho tôi trên Ubuntu 10.04
bioneuralnet


liên kết này cũng giúp stackoverflow.com/questions/9727908/ Khăn
Bruce

Câu trả lời:


297

Nếu bạn gặp phải câu hỏi này khi cố gắng cài đặt Ruby bằng Trình quản lý phiên bản Ruby (RVM) trên Ubuntu 10.04 thì sẽ có hướng dẫn cài đặt zlib trên trang web rvm http://rvm.beginrescueend.com/packages/zlib/

Các bước là:

rvm pkg install zlib

(hoặc rvm package install zlibnếu bạn nhận được "LRI: Đối số dòng lệnh không được nhận dạng: 'pkg'" - phiên bản cũ hơn của rvm đã sử dụng động từ 'gói' thay thế)

sau đó

rvm remove 1.9.1
rvm install 1.9.1

33
tuyệt vời, cách tiếp cận tương tự đã làm việc với tôi với một biến thể nhỏ cho gói 1.9.2: vm cài đặt zlib; rvm loại bỏ 1.9.2-p0; rvm cài đặt 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
thật tuyệt vời, tôi đã tự hỏi tại sao rvm không hoạt động trên debian ngay cả với zlib được cài đặt qua apt
Martin DeMello

11
gặp rắc rối tương tự, cuối cùng tôi cũng thấy việc này hiệu quả với tôi:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

Cảm ơn rất nhiều! Tôi có vấn đề này như nhau. Tôi chỉ phải thay thế "1.9.1" bằng "ree" trong Ubuntu. +1!
kikito

1
Cảm ơn đã bao gồm pkgtùy chọn thứ hai!
Justin

52

Tôi đang sử dụng Ubuntu 10.04 (Lucid), tôi muốn cài đặt ruby ​​1.9.2 vì 1.9.1 không được khuyến nghị với Rails. Vì vậy, tôi đã tải xuống nguồn cho 1.9.2 và giải nén / hủy lưu trữ nó. bản phân phối nguồn của tôi là ruby-1.9.2-p0. Sau khi tôi giải nén nó, tôi đã xây dựng zlib như sau:

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

đã khắc phục vấn đề. Điều này tương tự như những gì người khác đã đăng ở trên, nhưng không chính xác, vì vậy tôi cho rằng tôi cũng có thể đăng chính xác những gì tôi đã làm để có được nó.


2
Đây là tài nguyên tốt nhất tôi tìm thấy. Tôi đã cài đặt ruby ​​từ nguồn không có rvm và gặp sự cố với zlib. Bài này giúp rất nhiều. Cảm ơn bạn!
cristian

1
Cảm ơn bạn! Khắc phục sự cố trên 1.9.2-p136 / Ubuntu 10.04.1.
mgutz

Cảm ơn bạn. Khắc phục sự cố trên 1.9.2-p180 / Red Hat 4.1.2-46.
adelarsq

Điều này làm việc cho Ubnutu 11.04 / Ruby 1.9.2-p180. Tôi đã thử apt-get install zlib1g zlib1g-devnhưng nó không hoạt động (có thể nó zlib1g-devchưa được cài đặt trước khi tôi biên dịch Ruby).
Max Masnick

Có vẻ như bạn cần điều này ngay cả khi bạn cài đặt ruby ​​từ nguồn. Không chắc chắn tại sao nó không được cài đặt theo mặc định
nimrodm

22

Tôi gặp vấn đề tương tự trong CentOS và khắc phục bằng cách thực hiện lệnh sau:

Đầu tiên, tôi đảm bảo rằng zlib và zlib-devel tồn tại (giống như nhiều đề xuất ở trên).

yum install zlib zlib-devel

Thứ hai, tôi đã biên dịch lại và cài đặt các nguồn zlib đi kèm với 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

Các lệnh đó dường như khắc phục vấn đề, sau đó tôi thực thi gem update --system và lỗi với zlib biến mất. Sau đó, tôi cài đặt đường ray với đường ray cài đặt đá quý. Lưu ý để đề cập rằng tôi đã cài đặt gem trước đó và sau khi biên dịch lại và cài đặt zlib, tôi không biên dịch lại cũng không cài đặt gem (thực sự tôi không biết cách gỡ cài đặt nó vì tôi không tìm thấy tập lệnh để làm điều đó)

Điều đó làm việc cho tôi ... hy vọng bạn.

Trân trọng.


13

thử

aptitude install zlib1g-dev

Sau đó đi về doanh nghiệp của bạn.


tôi thực sự đã phải làm điều này trước khi có thể biên dịch zlib đi kèm với nguồn ruby
Jeremy White

8

Tôi thực sự không thích bất kỳ câu trả lời nào trong số này ... không ai thực sự tập trung vào nhu cầu và câu hỏi thực tế của người dùng ... chỉ là mọi người nói họ đã làm gì ... không có ngữ cảnh và nó thậm chí không hiệu quả với tôi ...

Vì thế, ..

Tôi đang cài đặt một hộp mới Ubuntu 8.04 LTS 64-bit ...

Vì vậy, tôi ...

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  

Và rồi tôi gặp vấn đề này với ...

gem list

nó không hoạt động ... một cái gì đó về zLib không tìm thấy tào lao ...

Vì vậy, tôi thực sự ĐỌC README và thấy rằng tôi cần chỉnh sửa một tập tin ...

[my ruby source directory]/ext/Setup

và UN-COMMENT dòng có zLib trong đó ... bằng cách xóa "#" trong cột đầu tiên

Sau đó, tôi chạy lại các lệnh ... bao gồm ở đây để tham khảo ...

./configure
make  
install  
sudo make install  

và tất cả đều tốt ... nó hợp lý ... và không có "rvm" và khác ... "chỉ cần cài đặt thêm các công cụ để làm cho nó hoạt động".

Joet


Không giúp tôi. Tôi cũng đọc readme và làm theo hướng dẫn của nó, nhưng ngay cả sau khi tôi vẫn không thể làm cho đá quý ruby ​​hoạt động, nó vẫn nói không zlib ...
Jenny

Trên thực tế câu trả lời có liên quan vì đây là một vấn đề phổ biến khi sử dụng rvm. Câu trả lời của bạn phù hợp hơn với những người không sử dụng rvm.
foamdino

7

Chỉ cần goto Ruby Source Gói, giải nén nó.

Goto / your-ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

Nếu các gói bị thiếu, nó sẽ cho bạn biết, chủ yếu là các gói liên quan đến libzlib

Trân trọng

Saurabh



4

vâng, và điều đó cũng không làm được việc. Có được điều này từ một nguồn khác, điều này cuối cùng đã làm điều đó cho tôi khi những thứ khác thất bại.

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

Cài đặt lại đá quý ruby ​​từ nguồn

Dù sao cũng cảm ơn các bạn.


1
Tôi đã có một vấn đề khi chạy extconf.rb. Đã giải quyết nó (có thể) bằng cách cài đặt zlib-devel.
Gregers

tương tự ở đây Đã thử mọi thứ khác và cuối cùng là blue.sky.or.jp đã cứu tôi. Cảm ơn.
abhishek

2

Vấn đề là Ruby trên Ubuntu không được xây dựng để chống lại zlib; bạn sẽ muốn thực hiện xây dựng nguồn để cài đặt Ruby. Bạn có thể làm điều này vớiapt-get source -b ruby


ok, một lần nữa, linux noob. Không biết bạn vừa nói gì. cười lớn. Ý tôi là, tôi hiểu lệnh; Nhưng tôi sẽ làm gì sau đó?
Paul

tốt, bây giờ, thậm chí nhiều điều đó đã không làm việc. Tôi đã nhận được lỗi "Lệnh xây dựng 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' fail"
Paul

2

Bạn đã thử apt-get install libzlib-ruby chưa?

Cũng cài đặt rubygems từ rubyforge. Tôi không thích gói rubygems trong Ubuntu.


2

Trên Debian (Bóp):

libruby chứa zlib cho ruby ​​trong số tất cả những thứ khác bạn sẽ cần để ruby ​​hoạt động chính xác trên Debian. Vì thế...

apt-get install libruby

Sau đó...

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

Điều này làm cho nó hoạt động với tôi, nhưng số dặm của bạn có thể thay đổi. Tôi đã làm theo cách tiếp cận shotgun nhẹ với zlib trước khi thấy rằng mọi thứ cần thiết đều được bao phủ bởi libruby.


1

Bạn có thể thử tải xuống gói gỡ lỗi doanh nghiệp ruby ​​trên trang web phusion . Và cài đặt hành khách thông qua các gói. Thực hiện theo các hướng dẫn ở đây . Hoặc bạn có thể thử tập lệnh bash được tìm thấy ở đây .


0

Khi chạy Rails, tôi không khuyên bạn nên sử dụng Ruby 1.8.8dev. Gắn bó với 1.8.6, tốt nhất là phiên bản Ruby Enterprise. Xem bài đăng này trên RailsLab những gì người khác đang sử dụng.

Nếu bạn khăng khăng muốn đi công nghệ cao, hãy cài đặt Ruby 1.9.1.

Nhưng trong cả hai trường hợp, hãy tự xây dựng nó hoặc sử dụng đề xuất của Marans.


Đây là lời khuyên tồi, KHÔNG sử dụng 1.9.1 với đường ray. 1.9.2+ hoạt động tốt, mặc dù.
xaxxon

Nhận xét đó đã được đặt cách đây 2 năm ... Bây giờ 1.9.3 sẽ là hướng đi tất nhiên.
làm hại

chắc chắn, tôi ổn với điều đó Nhưng điều quan trọng đối với ai đó là nó sai.
xaxxon
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.