Я только что перешел на 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 каждый и отдельно, безрезультатно.
Если вы столкнулись с этим вопросом, пытаясь установить 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
Я использую 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 раньше, а после перекомпиляции и установки zlib я не перекомпилирую ни один из установочных gem (на самом деле я не знал, как удалить его, потому что я не нашел script для этого)
Это работает для меня... надеюсь на вас.
С уважением.
попробовать
aptitude install zlib1g-dev
Затем займитесь своим бизнесом.
Мне действительно не понравился ни один из этих ответов... ни одна из них не фокусировалась на реальных потребностях и вопросе пользователей... просто люди рассказывали, что они сделали... нет контекста, и это даже не работало для меня...
Итак,..
Я устанавливаю новый бокс 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
Просто перейдите в исходный пакет Ruby, распакуйте его.
Goto/your-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
Это заставило его работать для меня, но ваш пробег может отличаться. Я сделал небольшой подход дробовика к zlib, прежде чем обнаружил, что все необходимое было покрыто libruby.
Вы пытались apt-get установить libzlib-ruby?
Также установите rubygems из rubyforge. Мне не нравится пакет rubygems в Ubuntu.
Проблема в том, что Ruby on Ubuntu не создан против zlib; вы захотите сделать исходную сборку для установки Ruby. Вы можете сделать это с помощью apt-get source -b ruby
При запуске Rails я бы не рекомендовал использовать Ruby 1.8.8dev. Stick с 1,8,6, предпочтительно Ruby Enterprise Edition. Смотрите это сообщение на RailsLab, что другие люди используют.
Если вы настаиваете на том, чтобы идти в хай-тек, установите Ruby 1.9.1.
Но в обоих случаях создайте его самостоятельно или используйте предложение Маранса.