Рейки Ubuntu встановлюють збій на zlib


128

Я щойно перейшов до Ubuntu 8.10 як мій бокс для розробників; це мій перший серйозний набіг на Linux як ОС щоденного використання, і мені важко запускати Rails. Я дотримувався ряду навчальних посібників, які, здається, працюють добре, але коли я намагаюся використовувати інсталяцію дорогоцінних каменів або оновлювати дорогоцінні камені, я отримую помилку, яка виглядає приблизно так:

/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

У мене (як рекомендується в підручниках) встановлено zlib, zlib1g і zlib1g-dev. Я навіть знайшов кілька підручників з цієї конкретної проблеми (все для ароматів, крім моїх, однак), але вони не допомогли.

Я на Ubuntu 8.10, версія ruby ​​1.8.8dev gem версія 1.3.2

Я намагався перевстановити рубін та дорогоцінні камені кожен та окремо, безрезультатно.


23
"Ubuntu noob rails встановлення не вдається на zlib" Нічого собі. Це як найкрасивіший вірш коли-небудь.
Nosredna

3
apt-get install zlib1g zlib1g-dev працював на мене на Ubuntu 10.04
bioneuralnet


це посилання також допомагає stackoverflow.com/questions/9727908/…
Брюс

Відповіді:


297

Якщо ви зіткнулися з цим питанням, намагаючись встановити Ruby за допомогою диспетчера версій Ruby (RVM) на Ubuntu 10.04, є інструкції щодо встановлення zlib на веб-сайті rvm http://rvm.beginrescueend.com/packages/zlib/

Етапи:

rvm pkg install zlib

(або rvm package install zlibякщо ви отримуєте "ПОМИЛКА: Нерозпізнаний аргумент командного рядка: 'pkg'" - старіші версії rvm використовували замість нього дієслово "package")

тоді

rvm remove 1.9.1
rvm install 1.9.1

33
чудово, такий же підхід працював для мене з незначною варіацією для 1.9.2: vm package install zlib; rvm видалити 1.9.2-p0; rvm встановити 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
tardate

1
чудово, мені було цікаво, чому rvm не працює на debian навіть із zlib, встановленим через apt
Martin DeMello

11
мав ті самі проблеми, нарешті виявив, що це спрацювало для мене:vm package install zib; rvm remove 1.9.2; rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr
TimDog

Дуже дякую! У мене була ця сама проблема. Мені просто довелося замінити "1.9.1" на "ree" в Ubuntu. +1!
кікіто

1
Дякуємо, що включили pkgдругий варіант!
Джастін

52

Я використовую Ubuntu 10.04 (Lucid), я хотів встановити ruby ​​1.9.2, оскільки 1.9.1 не рекомендується використовувати Rails. Тож я завантажив джерело для 1.9.2 і розпакував / заборонив його. мій дистрибутив джерела - ruby-1.9.2-p0. Після того як я розпакував його, я створив zlib таким чином:

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

що вирішило проблему. Це схоже на те, що інші люди розміщували вище, але не точно, тому я подумав, що я можу також розмістити саме те, що я зробив, щоб це пройшло.


2
Це найкращий ресурс, який я знайшов. Я встановив рубін з джерела без rvm і отримав проблему зі zlib. Ця публікація допоможе багато. Дякую!
Крістіан

1
Дякую! Виправляється проблема на 1.9.2-p136 / Ubuntu 10.04.1.
mgutz

Дякую. Виправляється проблема і на 1.9.2-p180 / Red Hat 4.1.2-46.
adelarsq

Це працювало для Ubnutu 11.04 / Ruby 1.9.2-p180. Я спробував, apt-get install zlib1g zlib1g-devале це не вийшло (можливо, що zlib1g-devвін не був встановлений до того, як я компілював Ruby).
Макс Маснік

Здається, вам це потрібно, навіть якщо ви встановлюєте рубін з джерела. Не впевнений, чому він не встановлений за замовчуванням
nimrodm

22

У мене така ж проблема в CentOS і виправити її, виконавши таку команду:

По-перше, я переконуюсь, що zlib та zlib-devel існують (як і багато запропонованих вище).

yum install zlib zlib-devel

По-друге, я перекомпілював та встановив джерела zlib, що постачається з рубіном.

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

Ці команди, здається, вирішують проблему, тоді я виконую gem update --systemі помилка з zlib зникла. Потім я встановлюю рейки з дорогоцінними канатами. Зауважте, що я раніше встановив дорогоцінний камінь, а після перекомпіляції та встановлення zlib я не перекомпілював і не встановив дорогоцінний камінь (насправді я не знав, як його видалити, бо не знайшов сценарій для цього)

Це для мене працює ... сподіваюсь на вас.

З повагою


13

спробуйте

aptitude install zlib1g-dev

Тоді займіться своїм бізнесом.


мені насправді довелося це зробити, перш ніж я міг зібрати zlib, який постачався з джерелом рубіну
Джеремі Вайт

8

Мені справді не сподобався жоден з цих відповідей ... жоден дійсно не зосереджувався на реальних потребах та питаннях користувачів ... просто люди розповідали, що вони зробили ... жодного контексту, і це навіть не працювало для мене ...

Так, ..

Я встановлюю нову коробку 64-розрядних Ubuntu 8.04 LTS ...

Так я ...

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  

І тоді у мене є ця проблема з ...

gem list

це не працює ... щось про zLib не знайдено лайно ...

Отже, я насправді читаю README і виявляю, що мені потрібно редагувати файл ...

[my ruby source directory]/ext/Setup

і UN-COMMENT рядок із zLib у ньому ... видаливши "#" у першому стовпці

Потім я знову запускаю команди ... включені сюди для довідки ...

./configure
make  
install  
sudo make install  

і все добре ... це логічно ... і позбавлене "rvm" та інших ... "просто встановіть більше речей, щоб змусити його працювати".

Joet


Не допомагає мені. Я також читала readme та дотримувалась її вказівок, але навіть після того, як я все ще не можу змусити працювати з рубіновими дорогоцінними каменями, я все ще кажу, що не zlib ...
Дженні

Насправді відповідь є актуальною, оскільки це поширена проблема при використанні rvm. Ваша відповідь більше підходить людям, які не використовують rvm.
пінодіно

7

Просто перейдіть на пакунок Ruby Source, розпакуйте його.

Goto / your-ruby-dir / ext / zlib

ruby extconf.rb
make
sudo make install

Якщо пакунки відсутні, то вам підкажуть, головним чином, пов'язані з libzlib пакети

З повагою

Саурах



4

так, і це теж не спрацювало. Отримав це з іншого джерела, це, нарешті, зробило це для мене там, де інші речі провалилися.

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

Перевстановіть рубінні дорогоцінні камені з джерела

Все одно дякую, хлопці.


1
У мене виникла проблема із запуском extconf.rb. Вирішили це (ймовірно), встановивши zlib-devel.
грегер

те ж саме. Спробував усе інше, і нарешті blue.sky.or.jp мене врятував. Дякую.
abhishek

2

Проблема полягає в тому, що Ruby на Ubuntu не побудований проти zlib; ви хочете створити джерело для встановлення Ruby. Ви можете це зробити за допомогоюapt-get source -b ruby


ок, знову ж таки, linux noob. Поняття не маю, що ти щойно сказав. Лол. Я маю на увазі, я розумію команду; але що я роблю після цього?
Павло

ну, зараз навіть це багато не вийшло. У мене виникла помилка "Команда побудови" cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc 'fail "
Павло

2

Ви спробували apt-get install libzlib-ruby?

Також встановіть рубігеми від rubyforge. Мені не подобається пакет rubygems в Ubuntu.


2

На Debian (стиснення):

libruby містить zlib для рубіну серед усіх інших речей, які вам знадобляться, щоб рубін працював належним чином на Debian. Так...

apt-get install libruby

Тоді...

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

Це змусило мене працювати, але ваш пробіг може відрізнятися. Я зробив невеликий підхід до рушниці, перш ніж з'ясував, що все необхідне охоплює лібруби.


1

Ви можете спробувати завантажити пакет пакета рубінових підприємств на веб- сайті phusion . І встановити пасажира через пакет. Дотримуйтесь інструкцій тут . Або ви можете спробувати скрипт bash, знайдений тут .


0

Під час роботи Rails я не рекомендував би використовувати Ruby 1.8.8dev. Дотримуйтесь 1.8.6, бажано Ruby Enterprise Edition. Дивіться цю публікацію на RailsLab чим інші люди.

Якщо ви наполягаєте на тому, щоб перейти на хай-тек, встановіть Ruby 1.9.1.

Але в обох випадках будуйте його самостійно або використовуйте пропозицію Маранса.


Це погана порада, НЕ використовуйте 1.9.1 з рейками. 1.9.2+ працює чудово.
xaxxon

Цей коментар був розміщений 2 роки тому ... Тепер, безумовно, був би шлях 1.9.3.
шкода

звичайно, я з цим добре. Але комусь важливо знати, що це неправильно.
xaxxon
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.