Для этого существует нативная функция PHP. См. http://php.net/manual/en/function.reset.php
Просто выполните следующее: mixed reset ( array &$array )
Я установил zlib из apt-get, а затем переустановил ruby на not , используя каталог 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
Решение, которое сработало для меня, описано в rvm github repo, issue # 3389 .
Запустить
rvm install 2.3.0 --with-zlib-dir=/usr/local/Cellar/zlib/1.2.8
для ruby 2.3.0 версия.
Ruby имеет кучу зависимостей пакетов, например, от zlib-devel. Они противны, потому что нет ничего, чтобы указать, что вам нужна библиотека, пока не получите какое-то непонятное сообщение об ошибке, пытаясь сделать что-то рутинное.
Решение состоит в использовании rvm . Используйте его, даже если вам нужна только одна версия рубина. Зачем? Потому что тогда вы можете сделать
rvm requirements
. Это будет проверять вашу конкретную ОС и создавать набор команд, которые вы можете скопировать обратно в командную строку, чтобы установить эти недостающие пакеты.
Использовать автолибы для установки зависимостей:
rvm autolibs enable
rvm reinstall 1.9.3
RVM будет автоматически устанавливать отсутствующие зависимости и использовать их для компиляции ruby.
Подробнее о autolibs => http: //rvm.io/rvm/autolibs
Оба других ответа были почти правы ...
Сайт rvm для zlib обеспечивает быстрое исправление!
В верхней части страницы это «Быстрое исправление», следуйте его инструкциям, это будет:
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