Ubuntu rails не удалось установить на zlib

122

Я только что перешел на Ubuntu 8.10 в качестве своего dev box; это мой первый серьезный набег на Linux в качестве ежедневной операционной системы, и мне нелегко получить Rails. Я следил за рядом учебников, которые, похоже, работают нормально, но когда я пытаюсь использовать gem install или gem update для чего-либо, я получаю сообщение об ошибке, которое выглядит так:

/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, рубиновая версия 1.8.8dev gem version 1.3.2

Я попытался переустановить ruby ​​и gems каждый и отдельно, безрезультатно.

  • 23
    "Ubuntu noob rails не удается установить на zlib" Wow. Это как самое прекрасное стихотворение.
  • 3
    apt-get install zlib1g zlib1g-dev у меня работал на Ubuntu 10.04
Показать ещё 2 комментария
Теги:
zlib
gem
ubuntu-8.10

13 ответов

310
Лучший ответ

Если вы столкнулись с этим вопросом, пытаясь установить Ruby с помощью Ruby Version Manager (RVM) на Ubuntu 10.04, тогда есть инструкции по установке zlib на веб-сайт rvm http://rvm.beginrescueend.com/packages/zlib/

Шаги:

rvm pkg install zlib

(или rvm package install zlib, если вы получите сообщение "ERROR: непризнанный аргумент командной строки:" pkg ") - более старые версии rvm использовали вместо этого" пакет ")

затем

rvm remove 1.9.1
rvm install 1.9.1
  • 0
    спасибо, но я не использовал rvm
  • 17
    Я был, и это сработало. Спасибо.
Показать ещё 9 комментариев
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

что фиксировало проблему. Это похоже на то, что другие люди разместили выше, но не совсем так, поэтому я решил, что могу также опубликовать именно то, что я сделал, чтобы это произошло.

  • 0
    Это также работает с Cygwin. Благодарю.
  • 2
    Это лучший ресурс, который я нашел. Я установил ruby из исходного кода без rvm и получил проблему с zlib. Этот пост очень помог. Спасибо!
Показать ещё 5 комментариев
23

У меня такая же проблема в 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 исчезла. Затем я устанавливаю рельсы с установочными рельсами. Обратите внимание на то, что я установил gem раньше, а после перекомпиляции и установки zlib я не перекомпилирую ни один из установочных gem (на самом деле я не знал, как удалить его, потому что я не нашел script для этого)

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

С уважением.

  • 0
    Это исправило мою проблему! Пожалуйста, почувствуйте мою благодарность.
  • 0
    Большое спасибо! Это решило мою проблему в CentOS 5.5
Показать ещё 1 комментарий
12

попробовать

aptitude install zlib1g-dev

Затем займитесь своим бизнесом.

  • 0
    Я на самом деле должен был сделать это, прежде чем смог скомпилировать zlib, поставляемый с источником ruby
8

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

Итак,..

Я устанавливаю новый бокс Ubuntu 8.04 LTS 64-бит...

Итак, я...

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

  • 0
    Не помогает мне Я также прочитал readme и следовал его инструкциям, но даже после того, как я все еще не могу заставить работать рубиновые самоцветы, он по-прежнему не говорит zlib ...
  • 0
    На самом деле ответ является актуальным, так как это распространенная проблема при использовании rvm. Ваш ответ больше подходит для людей, которые не используют rvm.
7

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

Goto/your-ruby-dir/ext/zlib

ruby extconf.rb
make
sudo make install

Если пакеты отсутствуют, он скажет вам, в основном связанные с libzlib пакеты

Привет

Саурабх

  • 0
    не вижу "ext / zlib" в моей рубиновой директории ...
  • 0
    @ Спасибо, работает как шарм
6
rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

Так оно и было. После многочисленных диких гусей, я рад, что нашел эту страницу.

  • 1
    К вашему сведению - «пакет» был изменен на «pkg» в более поздней версии rvm. См. Github.com/wayneeseguin/rvm/pull/345
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.
  • 0
    тоже самое. Перепробовал все остальное, и наконец blue.sky.or.jp спас меня. Благодарю.
2

В Debian (Squeeze):

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.

2

Вы пытались apt-get установить libzlib-ruby?

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

2

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

  • 0
    хорошо, опять же, linux noob. Понятия не имею, что ты только что сказал. лол. Я имею в виду, я понимаю команду; но что мне делать после этого?
  • 0
    ну, теперь даже это не сработало. Я получил сообщение об ошибке "Команда сборки 'cd ruby-defaults-4.2 && dpkg-buildpackage -b -uc' fail"
1

Вы можете попытаться загрузить пакет debub предприятия ruby ​​на phusion. И установите пассажира через упаковку. Следуйте инструкциям здесь. Или вы можете попробовать bash script найти здесь.

0

При запуске Rails я бы не рекомендовал использовать Ruby 1.8.8dev. Stick с 1,8,6, предпочтительно Ruby Enterprise Edition. Смотрите это сообщение на RailsLab, что другие люди используют.

Если вы настаиваете на том, чтобы идти в хай-тек, установите Ruby 1.9.1.

Но в обоих случаях создайте его самостоятельно или используйте предложение Маранса.

  • 0
    Это плохой совет, НЕ используйте 1.9.1 с рельсами. 1.9.2+ работает нормально, хотя.
  • 0
    Этот комментарий был размещен 2 года назад ... Теперь, конечно, лучше было бы использовать 1.9.3.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню