Ubuntu noob rails устанавливает сбой на zlib

Я только что перешел на 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 каждый и отдельно, безрезультатно.

Ответ 1

Если вы столкнулись с этим вопросом, пытаясь установить 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

Ответ 2

Я использую 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

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

Ответ 3

У меня такая же проблема в 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 для этого)

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

С уважением.

Ответ 4

попробовать

aptitude install zlib1g-dev

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

Ответ 5

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

Итак,..

Я устанавливаю новый бокс 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

Ответ 6

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

Goto/your-ruby-dir/ext/zlib

ruby extconf.rb
make
sudo make install

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

Привет

Саурабх

Ответ 7

rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

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

Ответ 8

да, и это тоже не помогло. Получил это из другого источника, это, наконец, сделало это для меня, где другие вещи не удались.

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

Переустановите рубиновые камни из источника

Спасибо, ребята.

Ответ 9

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

Ответ 10

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

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

Ответ 11

В 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.

Ответ 12

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

Ответ 13

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

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

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