Nokogiri ha un problema con la traduzione da e verso i caratteri UTF-8 che risulta provenire da libxml2, in particolare dalla versione 2.7.6, che è la versione supportata più alta su Ubuntu 10.04 LTS. Il bug è stato risolto nella versione 2.7.7 e successive, ma poiché la nostra app è ospitata su Heroku (stack bamboo-ree-1.8.7, basato su Ubuntu 10.04), dobbiamo usare la versione 2.7.6 e continuare a sperimentare bug, a meno che:Posso incorporare librerie di sistema (ad es. Libxml2) per compilare una gemma (ad esempio nokogiri) che posso distribuire su Heroku?
- qualcuno può/ha violato nokogiri per aggirare il problema
- Canonical urta la versione libxml2 supportato per Ubuntu 10.04 (e/o Heroku aggiornamenti libxml2 nel loro stack)
- posso venire con un modo per nokogiri di usare una versione di libxml2 che posso aggregare con l'app in modo tale che possa essere distribuita su Heroku.
Felice di ascoltare qualsiasi feedback su 1 o 2, naturalmente, ma curioso se 3 è fattibile. Ecco quello che so essere possibile:
- Nokogiri può essere collegato contro una biblioteca situata in un luogo non-standard - http://nokogiri.org/tutorials/installing_nokogiri.html
- Il gioiello creato in questo modo può essere installato per vendor/gemme, e quindi prendere la precedenza su gemme sistema
la mia domanda è, posso includere il libxml2 più alto di versione con l'applicazione in modo tale che l'compilato, gemma vendor'ed lo usa quando ho commesso e lo spinse a Heroku?
Finito di essere in grado di utilizzare la soluzione alternativa suggerita qui - https://github.com/tenderlove/nokogiri/issues/458#issuecomment-3136620. –
Ben, qual è stata la soluzione. Quel collegamento ora è rotto. –
@NateCook il link è ora https://github.com/sparklemotion/nokogiri/issues/458#issuecomment-3136620 – iain