Zlib продолжает вызывать проблемы на новом сервере Ubuntu / rvm / gemset

Я только что установил RVM на новый сервер ubuntu 10.04 LTS и один рубин, 1.9.2-p180. Я создал новый гемсет в папке моего проекта, в котором есть файл 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 за пределами rvm, то есть с помощью системного ruby.

EDIT2 - я решил эту проблему, удалив версию ruby, а затем снова установив ее с помощью zlib:

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

Теперь я могу установить бандлер и все свои драгоценности в порядке. Ура. Кроме, когда я пытаюсь открыть свой rails 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 вызывает такие проблемы, есть идеи?


person Max Williams    schedule 22.11.2011    source источник


Ответы (1)


Разобрал!

Бег 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.2.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

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

person Max Williams    schedule 23.11.2011