Как загрузить правильную версию динамических библиотек и гемов (libxml, Nokogiri) в пользовательский гем движка Rails?
Я строю рельсовый двигатель, который использует драгоценный камень Nokogiri, и яУ меня возникли проблемы с настройкой разработки в MacOS 10.7 и 10.8:
Для того, чтобы Nokogiri работал должным образом в моей установке, я обновил библиотеки libxml и libxslt:
brew update
brew install libxslt
brew upgrade libxml2
gem uninstall nokogiri
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28
И Nokogiri работает правильно, если я использую его в "регулярный» Приложение rails (включите его в Gemfile, запустите пакетную установку).
Проблема возникает, когда я пытаюсь использовать Nokogiri от Rails Engine, который ям сборка и использование из моего приложения в качестве драгоценного камня.
В гемспеке:
s.add_dependency 'nokogiri' # XML parsing
Я также попробовал следующее в верхней части Gem 'Gemfile:
gem 'nokogiri'
Когда я запускаю приложение, использующее мой гем Rails Engine, я получаю следующее предупреждение:
WARNING: Nokogiri was built against LibXML version 2.9.0, but has dynamically loaded 2.7.8
Как мне сконфигурировать gem, и / или bundler, и / или Rails, чтобы использовать правильную версию Nokogiri, libxml и libxslt?
Также здесь'с выводомnokogiri -v
# Nokogiri (1.5.9)
---
warnings: []
nokogiri: 1.5.9
ruby:
version: 1.9.3
platform: x86_64-darwin12.3.0
description: ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-darwin12.3.0]
engine: ruby
libxml:
binding: extension
compiled: 2.9.0
loaded: 2.9.0