Zlib продолжает вызывать проблемы в новом сервере ubuntu / rvm / gemset - PullRequest
3 голосов
/ 23 ноября 2011

Я только что установил RVM на новый сервер Ubuntu 10.04 LTS и один ruby, 1.9.2-p180.Я сделал новый gemset в папке моего проекта, в которой есть Gemfile.Я понял, что для установки драгоценных камней в gemfile мне нужно установить упаковщик, поэтому я сделал

gem install bundler

, но получаю эту ошибку:

ERROR:  Loading command: install (LoadError)
  no such file to load -- zlib
ERROR:  While executing gem ... (NameError)
  uninitialized constant Gem::Commands::InstallCommand

Я гуглилнемного и попробовал это:

rvm pkg install zlib

, который установлен нормально, но не решил проблему.Я также попытался установить Rake Gem, но получил ту же ошибку, пытаясь это сделать.

Вид застрял ... какие-либо предложения?спасибо, макс.

РЕДАКТИРОВАТЬ - кстати, я могу установить штрафа Gem Packler за пределами rvm, то есть с помощью системного рубина.установить его снова с помощью zlib:

rvm remove 1.9.2-p180
rvm install 1.9.2-p180 -C --with-zlib-dir=$rvm_path/usr

Теперь я могу установить пакет и все мои драгоценные камни в порядке.Ура. За исключением , когда я пытаюсь открыть env для рельсов (с rails s, rails c или rake db:create), я получаю эту фатальную ошибку:

/home/max/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/
1.9.1/rubygems/custom_require.rb:36:in `require': 
/lib/libz.so.1: version `ZLIB_1.2.3.3' not found (required by 
/home/max/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/i686-linux/zlib.so) - 
/home/max/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/i686-linux/zlib.so (LoadError)

Так что до сих пор нетиз леса в zlib-мудрый.Я не знаю, почему zlib вызывает такие проблемы, есть идеи?

1 Ответ

3 голосов
/ 23 ноября 2011

Сортировка!

Запуск locate libz дает мне

/home/max/.rvm/src/zlib-1.2.5/libz.a
/home/max/.rvm/src/zlib-1.2.5/libz.so
/home/max/.rvm/src/zlib-1.2.5/libz.so.1
/home/max/.rvm/src/zlib-1.2.5/libz.so.1.2.5
/home/max/.rvm/usr/lib/libz.a
/home/max/.rvm/usr/lib/libz.so
/home/max/.rvm/usr/lib/libz.so.1
/home/max/.rvm/usr/lib/libz.so.1.2.5
/lib/libz.so.1
/lib/libz.so.1.2.3.3

Я только что заметил, что версия libz в lib - 1.2.3.3, а версия, которую я установил с rvm - 1.20,5.Возможно, это проблема?В папке / lib zlib.so.1 является символической ссылкой на соседний файл libz.so.1.2.3.3.

Я попытался вместо этого связать его с /home/max/.rvm/usr/lib/libz.so.1.2.5:

sudo rm /lib/libz.so.1
sudo ln -s /home/max/.rvm/src/zlib-1.2.5/libz.so.1 /lib/libz.so.1

и, похоже, это сработало ... я до сих пор не совсем понимаю, что именно пошло не так, хотя, такприветствовал бы более проницательное решение / объяснение :)

...