Могу ли я включить системные библиотеки (например, libxml2), с которыми я компилирую, в гем (например, nokogiri), который я могу развернуть в Heroku?
У Nokogiri есть проблема с переводом символов в UTF-8 и обратно, которые происходят из libxml2, а именно из версии 2.7.6, которая является самой поддерживаемой версией в Ubuntu 10.04 LTS. Ошибка исправлена в версии 2.7.7 и выше, но поскольку наше приложение размещено на Heroku (стек бамбука-ree-1.8.7, основанный на Ubuntu 10.04), мы должны использовать версию 2.7.6 и продолжать испытывать ошибка, если:
Кто-то может / взломал nokogiri, чтобы обойти проблемуCanonical поднимает поддерживаемую версию libxml2 для Ubuntu 10.04 (и / или Heroku обновляет libxml2 в своем стеке)Я могу предложить nokogiri способ использования версии libxml2, которую я могу связать с приложением таким образом, чтобы оно могло быть развернуто в Heroku.Рад слышать любые отзывы о 1 или 2, конечно, но любопытно, возможно ли 3. Вот то, что я знаю, чтобы быть возможным:
Nokogiri может быть связан с библиотекой, расположенной в нестандартном месте -http://nokogiri.org/tutorials/installing_nokogiri.htmlСозданный таким образом драгоценный камень может быть установлен вендору / драгоценным камням и, таким образом, иметь приоритет над системными драгоценными камнямиУ меня вопрос: могу ли я включить в приложение более высокую версию libxml2 таким образом, чтобы скомпилированный гем от вендора использовал его, когда я его зафиксировал и отправил в Heroku?