RVM Ruby 1.9.1 не может найти zlib, но есть его среда выполнения и библиотека разработчика - PullRequest
54 голосов
/ 14 марта 2010

Попытка получить Ruby 1.9.1 и запустить его с RVM при новой установке (fedora).

После выполнения rvm install 1.9.1 журналы ошибок rubygems показывают, что zlib не может быть найден

нет такого файла для загрузки - zlib (LoadError)

Однако и библиотеки времени выполнения zlib, и библиотеки разработки установлены и обновлены.

В данный момент я немного озадачен этим.

Ответы [ 8 ]

108 голосов
/ 11 мая 2010

Используйте rvm для установки zlib

https://rvm.io/packages/zlib/

rvm package install zlib
rvm remove 1.9.1
rvm install 1.9.1 -C --with-zlib-dir=$rvm_path/usr

Edit: команда rvm package была переименована в rvm pkg в v1.6.25.

63 голосов
/ 14 марта 2010

Вам необходимо установить zlib перед компиляцией / установкой Ruby. Если вы этого не сделали, обязательно удалите все, что связано с Ruby 1.9.1, из папки ~/.rvm (чтобы она создавалась с нуля).

Установите zlib, используя ваш любимый менеджер пакетов:

sudo apt-get install zlib1g-dev

Вы также можете установить следующие пакеты, так как они требуются такими инструментами, как OpenSSL,
Нокогири, IRB или SQLite:

 libssl-dev libreadline6-dev libxml2-dev libsqlite3-dev

Затем установите Ruby 1.9.1 снова (в настоящее время я бы предложил использовать более новую версию):

rvm install 1.9.1

Следите за "компиляцией ...". Это должно занять некоторое время. Если этого не произойдет, Ruby 1.9.1 все еще может быть кэширован
в вашей папке ~/.rvm.

9 голосов
/ 25 февраля 2011

Я столкнулся с этой проблемой при попытке:

Gem Install Грубый

Что на самом деле сработало для меня (Ubunut 10.10, ruby ​​MRI 1.8.7):

  • чтение заметок rvm и установка зависимостей для моей версии ruby ​​

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev autoconf * 101 *

  1. rvm пакет установки zlib
  2. rvm удалить 1.8.7
  3. rvm установить 1.8.7

Так что в основном: просто следуйте инструкции rvm

3 голосов
/ 15 сентября 2011

В современной версии rvm пакет * аргумент заменен pkg аргумент.

Теперь для установки пакета zlib для rvm необходимо:

rvm pkg install zlib

1 голос
/ 23 апреля 2012

В последней версии Ubuntu (11.10) также есть проблема с readline.

Readline не может быть необходим, если вам нужно завершение или история установите readline, затем переустановите ruby.

Итак, весь мой процесс установки rvm и последней версии ruby ​​для ubunutu 11.10 был:

# install rvm
sudo apt-get install curl
curl -L get.rvm.io | bash -s stable

# install dependencies
rvm pkg install zlib
rvm pkg install readline

# install additional dependencies -- follow instructions for your distribution/version
rvm requirements

# install ruby
rvm install [ruby-version]

Я публикую это для справки в будущем, и в случае, если кто-то еще столкнется с этой проблемой.

1 голос
/ 14 сентября 2011

Кроме того, вы знаете, что 1.9.1 ужасно сломан, поэтому никто не использует его всерьез, верно? Важность, которую это имеет к заданному вопросу, состоит в том, что многие люди не осознают этого и пытаются использовать его с такими API, как Ruby On Rails. Однако, как заявляет rubyonrails.org/download, Ruby 1.9.1 не поддерживается для использования с Rails, поскольку он сломан .

1 голос
/ 07 сентября 2010

Поскольку вы используете Fedora, попробуйте запустить:

yum install zlib-devel.i686

А затем попробуйте установить ruby ​​1.9.1 с помощью RVM

rvm install 1.9.1
0 голосов
/ 07 июня 2012

Для меня решение было очень простым: я забыл закрыть / снова открыть оболочку, как указала мне установка rvm. После того, как я это сделал, ошибка zlib исчезла, и я смог: gem install bundler

...