Nokogiri ma problem z tłumaczeniem na i ze znaków UTF-8, który okazuje się pochodzić z biblioteki libxml2, w szczególności wersji 2.7.6, która jest najlepiej obsługiwaną wersją systemu Ubuntu 10.04 LTS. Błąd jest naprawiony w wersji 2.7.7 i wyższej, ale ponieważ nasza aplikacja jest hostowana na Heroku (stos bambusa-ree-1.8.7, w oparciu o Ubuntu 10.04), musimy użyć wersji 2.7.6 i nadal doświadczać bug, chyba że:Czy mogę włączyć biblioteki systemowe (np. Libxml2), które kompiluję przeciwko sobie w klejnot (np. Nokogiri), który mogę wdrożyć w Heroku?
- Ktoś może/włamał nokogiri aby obejść problem
- Canonical stłuczki obsługiwaną wersję libxml2 dla Ubuntu 10.04 (i/lub Heroku aktualizacje libxml2 w ich stosie)
- mogę przyjść sposób, aby nokogiri używał wersji libxml2, którą mogę połączyć z aplikacją w taki sposób, aby mogła zostać wdrożona w Heroku.
Z przyjemnością wysłuchamy opinii na temat 1 lub 2, ale ciekawy, czy 3 jest wykonalne. Oto, co wiem, będzie to możliwe:
- Nokogiri można powiązać przeciwko biblioteki znajduje się w niestandardowym miejscu - http://nokogiri.org/tutorials/installing_nokogiri.html
- Klejnot stworzony w ten sposób można zainstalować do dostawcy/klejnoty, a tym samym wziąć pierwszeństwo w stosunku do klejnotów systemowych
Moje pytanie brzmi, czy mogę dołączyć wyższą wersjonowaną bibliotekę libxml2 do aplikacji w taki sposób, że skompilowany klej sprzedawany przez sprzedawcę używa go, gdy go zatwierdzę i przekazałem do Heroku?
Skończyło się na możliwości zastosowania sugerowanego tutaj obejścia - https://github.com/tenderlove/nokogiri/issues/458#issuecomment-3136620. –
Ben, jakie było obejście tego problemu. Ten link jest teraz zepsuty. –
@NateCook link jest teraz https://github.com/sparklemotion/nokogiri/issues/458#issuecomment-3136620 – iain