Один из моих Rubygem (Nokogiri) был построен против libXML 2.7.6, но как только я обновил libXML до версии 2.7.8, мои программы выдают ошибки. Чтобы мои программы работали, мне нужно сделать много модификаций, а я не хочу их делать. Могу ли я понизить версию libXML до 2.7.6?
Как понизить версию libxml 2.7.8 до 2.7.6 в Ubuntu
Ответы (3)
Вы пытались пересобрать Nokogiri для использования более новой версии libxml?
gem uninstall nokogiri
gem install nokogiri
должен сделать это. Если вы изначально установили Nokogiri с помощью sudo
, вам также нужно будет использовать его с приведенными выше командами.
Nokogiri имеет собственный код, который компилируется при установке, и этот код будет недоволен, если изменится версия libxml. Удаление, а затем повторная установка должны занять всего около 30 секунд, в результате чего собственный код будет обновлен для новой библиотеки.
Что я обычно делаю в этом случае, так это...
- Загрузите исходный код версии библиотеки, которую я хочу использовать.
- Используйте
apt-get build-dep libxml
для получения необходимых зависимостей - Настройте загруженную библиотеку для использования префикса, такого как /opt или $HOME.
- Настройте приложения, которым требуется «нечетная» версия библиотеки из исходного кода, чтобы использовать загруженную версию.
- Сборка и установка
В некоторых случаях также возможно, чтобы две библиотеки жили бок о бок и ими можно было управлять через диспетчер пакетов, но мне с этим очень не повезло.
/opt/
, ну да ладно... Согласен, тем не менее, ваш ответ работает для людей, которые постоянно компилируют материал, или для тех, кто понижает критический системный пакет.
- person Blender; 06.12.2010
Посмотрите на это: http://ubuntuforums.org/showthread.php?t=321156. Это руководство по понижению пакетов.
Кроме того, перейдите на https://askubuntu.com/. Они занимаются вещами Ubuntu.