Ошибка установки рельсов 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 06

3
apt-get install zlib1g zlib1g-dev работал у меня на Ubuntu 10.04
— bioneuralnet


эта ссылка также помогает stackoverflow.com/questions/9727908/…
— Брюс

Ответы:


297

Если вы столкнулись с этим вопросом, пытаясь установить Ruby с помощью Ruby Version Manager (RVM) в Ubuntu 10.04, то на веб-сайте rvm http://rvm.beginrescueend.com/packages/zlib/ есть инструкции по установке 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 remove 1.9.2-p0; rvm install 1.9.2-p0 --with-zlib-dir = $ rvm_path / usr
— tardate

1
замечательно, мне было интересно, почему rvm не работает на debian даже с zlib, установленным через apt
— Мартин ДеМелло

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!
— kikito

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
Это лучший ресурс, который я нашел. Я установил Ruby из исходного кода без rvm, и возникла проблема с zlib. Этот пост очень помог. Спасибо!
— cristian

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).
— Макс Масник 08

Похоже, вам это нужно, даже если вы устанавливаете Ruby из исходников. Не уверен, почему он не установлен по умолчанию
— nimrodm

22

У меня такая же проблема в CentOS, и я исправлю ее, выполнив следующую команду:

Во-первых, я удостоверяюсь, что zlib и zlib-devel существуют (как многие из предложенных выше).

yum install zlib zlib-devel

Во-вторых, я перекомпилировал и установил исходные коды zlib, поставляемого с 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

Кажется, что эти команды решают проблему, затем я выполняю, gem update --systemи ошибка с zlib исчезла. Затем я устанавливаю рельсы с рельсами для установки драгоценных камней. Обратите внимание, что я уже устанавливал гем раньше, а после перекомпиляции и установки zlib я не перекомпилирую ни один гем install (на самом деле я не знал, как его удалить, потому что я не нашел для этого скрипта)

Это работает для меня ... надеюсь, что вы это сделаете.

С уважением.


13

пытаться

aptitude install zlib1g-dev

Тогда займись своими делами.


на самом деле мне пришлось сделать это, прежде чем я смог скомпилировать zlib, который пришел с исходным кодом ruby
— Джереми Уайт

8

Мне действительно не понравился ни один из этих ответов ... ни один из них не был сосредоточен на реальных потребностях и вопросах пользователей ... просто люди рассказывали, что они сделали ... нет контекста, и это даже не сработало для меня ...

Так, ..

Устанавливаю новую коробку Ubuntu 8.04 LTS 64-bit ...

Так что я ...

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

и ОТКАЗАТЬ ОТ КОММЕНТАРИИ к строке с zLib ... удалив "#" в первом столбце

Затем я снова запускаю команды ... приведенные здесь для справки ...

./configure
make  
install  
sudo make install  

и все хорошо ... это логично ... и лишено "rvm" и других ... решений типа "просто установи больше, чтобы все заработало".

Joet


Мне не помогает. Я также прочитала ридми и выполнила его инструкции, но даже после того, как я все еще не могу заставить рубиновые драгоценные камни работать, он все еще говорит «нет злиб» ...
— Дженни

На самом деле ответ актуален, так как это частая проблема при использовании rvm. Ваш ответ больше подходит для людей, которые не используют rvm.
— пенодино

7

Просто перейдите к пакету исходного кода Ruby, разархивируйте его.

Перейти к / ваш-рубин-каталог / 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.
— gregers

тоже самое. Пробовал все остальное, и наконец меня спас 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 'failed "
— Пол

2

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

Также установите rubygems из rubyforge. Мне не нравится пакет rubygems в Ubuntu.


2

В Debian (сжатие):

libruby содержит zlib для ruby ​​среди всего прочего, что вам нужно для правильной работы ruby ​​в Debian. Так...

apt-get install libruby

Затем...

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

Это помогло мне, но ваш опыт может отличаться. Я применил небольшой подход к zlib, прежде чем обнаружил, что все необходимое было покрыто libruby.


1

Вы можете попробовать загрузить пакет ruby ​​enterprise deb на сайте 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.