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

Я только что перешел на Ubuntu 8.10 в качестве своего окна разработки; это мой первый серьезный набег на 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, ruby ​​версия 1.8.8dev gem версия 1.3.2

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

13 ответов

Решение

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

Шаги:

rvm pkg install zlib

(или же rvm package install zlib если вы получите "ОШИБКА: нераспознанный аргумент командной строки:" pkg "" - более старые версии rvm использовали вместо этого глагол "пакет")

затем

rvm remove 1.9.1
rvm install 1.9.1

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

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

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

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

С уважением.

Пытаться

aptitude install zlib1g-dev

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

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

Так,..

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

и UN-КОММЕНТАРИЙ строки с zLib в нем..., удаляя "#" в первом столбце

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

./configure
make  
install  
sudo make install  

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

Joet

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

Перейти / ваш-ruby-dir/ext/zlib

ruby extconf.rb
make
sudo make install

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

С уважением

Саурабх

rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1

Это сделал это. Я рад, что после многочисленных погонь за дикими гусями я нашел эту страницу.

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

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

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

В любом случае, ребята, спасибо.

На 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

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

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

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

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

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

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

Если вы настаиваете на высоких технологиях, установите Ruby 1.9.1.

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

Другие вопросы по тегам