Не может загрузить такой файл - zlib даже после использования rvm pkg install zlib
Я установил пакет zlib и ruby 1.9.3 с помощью rvm, но всякий раз, когда я пытаюсь установить
драгоценные камни говорят
cannot load such file -- zlib
Команды, которые я использовал для установки,
$ rvm install 1.9.3
$ rvm pkg install zlib
$ rvm reinstall 1.9.3 --with-readline-dir=/home/username/.rvm/usr \
--with-iconv-dir=/home/username/.rvm/usr \
--with-zlib-dir=/home/username/.rvm/usr \
--with-openssl-dir=/home/username/.rvm/usr
$ rvm use 1.9.3
$ gem install heroku
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand
Вся помощь по этой теме подсказывает мне просто сделать rvm pkg install zlib
, и
затем переустановите ruby с помощью --with-zlib-dir=/home/username/.rvm/usr
, но это
не работает.
Ответы
Ответ 1
Я закончил установку zlib из apt-get, а затем переустановил ruby, чтобы не использовать каталог rvm для zlib.
Вот как это сделать:
$ sudo apt-get install zlib1g-dev
$ rvm reinstall 1.9.3
[Изменить] Как отмечает комментатор @chrisfinne, на системах CentOS/RedHat:
$ sudo yum install zlib-devel
$ rvm reinstall 1.9.3
Ответ 2
Оба других ответа были почти правы...
rvm-сайт для zlib обеспечивает быстрое исправление!
В верхней части страницы находится "Быстрое исправление", следуя инструкциям, это будет:
- исправить вашу установку,
- предоставит вам инструкции, что делать, чтобы установить zlib из вашей системы.
- и покажите, как переустановить ruby
Ответ 3
Использовать автолибы для установки зависимостей:
rvm autolibs enable
rvm reinstall 1.9.3
RVM автоматически устанавливает отсутствующие зависимости и использует их для компиляции ruby.
Подробнее о autolibs = > http://rvm.io/rvm/autolibs
Ответ 4
Ruby имеет кучу зависимостей пакетов, например, от zlib-devel. Они противны, потому что нечего указывать, что вам нужна библиотека, пока не получите какое-то непонятное сообщение об ошибке, пытаясь сделать что-то рутинное.
Решение состоит в использовании rvm. Используйте его, даже если вам нужна только одна версия рубина. Зачем? Потому что тогда вы можете сделать
rvm requirements
Это будет проверять вашу конкретную ОС и создавать набор команд, которые вы можете скопировать обратно в командную строку, чтобы установить эти недостающие пакеты.
Ответ 5
Решение, которое сработало для меня, описано в rvm github repo, проблема № 3389.
Запустить
rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8
для версии ruby 2.3.0.
Ответ 6
rvm pkg install openssl && rvm pkg install zlib && rvm pkg install libyaml &&
rvm pkg install iconv
rvm install 1.9.3-p0 --with-opt-dir=$HOME/.rvm/usr \
--with-libxml2-dir=/usr/local/Cellar/libxml2/2.7.8 \
--with-readline-dir=/usr/local/Cellar/readline/6.2.1