Jak załadować poprawną wersję dynamicznych bibliotek i klejnotów (libxml, Nokogiri) w niestandardowym gemie silnika Rails?

Buduję silnik railsowy, który używa klejnotu Nokogiri i mam problemy z moją konfiguracją programistyczną w MacOS 10.7 i 10.8:

Aby Nokogiri działał poprawnie w mojej konfiguracji, zaktualizowałem biblioteki libxml i libxslt za pomocą:

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

A Nokogiri działa poprawnie, jeśli używam go w „zwykłej” aplikacji szyny (dołącz do Gemfile, uruchom instalację pakietu).

Problem pojawia się, gdy próbuję użyć Nokogiri z silnika Rails, który buduję i używam z mojej aplikacji jako klejnot.

W gemspec:

s.add_dependency 'nokogiri' # XML parsing

Wypróbowałem również poniższe w górnej części Gem Gemsa:

gem 'nokogiri'

Po uruchomieniu aplikacji, która używa mojego klejnotu Rails Engine, otrzymuję następujące ostrzeżenie:

WARNING: Nokogiri was built against LibXML version 2.9.0, but has dynamically loaded 2.7.8

Jak skonfigurować gem i / lub bundler i / lub Rails do używania poprawnej wersji Nokogiri i libxml i libxslt?

Również tutaj jest wyjścienokogiri -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

questionAnswers(1)

yourAnswerToTheQuestion