Clarify some of the Nokogiri/Rbx issues.

This commit is contained in:
Yorick Peterse 2014-02-26 14:46:54 +01:00
parent 6326bdd8c9
commit 626bb9e0b6
1 changed files with 17 additions and 1 deletions

View File

@ -71,6 +71,22 @@ library, is not thread-safe and problematic to install on certain platforms
(apparently). I don't want to compile libxml2 every time I install Nokogiri (apparently). I don't want to compile libxml2 every time I install Nokogiri
either. either.
To give an example about the issues with Nokogiri on Rubinius (or any other
Ruby implementation that is not MRI or JRuby), take a look at these issues:
* https://github.com/rubinius/rubinius/issues/2957
* https://github.com/rubinius/rubinius/issues/2908
* https://github.com/rubinius/rubinius/issues/2462
* https://github.com/sparklemotion/nokogiri/issues/1047
* https://github.com/sparklemotion/nokogiri/issues/939
Some of these have been fixed, some have not. The core problem remains:
Nokogiri acts in a way that there can be a large number of places where it
*might* break due to throwing around void pointers and what not and expecting
that things magically work. Note that I have nothing against the people running
these projects, I just heavily, *heavily* dislike the resulting codebase one
has to deal with today.
Ox looks very promising but it lacks a rather crucial feature: parsing HTML Ox looks very promising but it lacks a rather crucial feature: parsing HTML
(without using a SAX API). It's also again a C extension making debugging more (without using a SAX API). It's also again a C extension making debugging more
of a pain (at least for me). of a pain (at least for me).
@ -86,7 +102,7 @@ writing it in Ruby we don't have to deal with all the crazy things of C/C++ or
even Java. even Java.
In theory it should also allow it to run on every Ruby implementation, be it In theory it should also allow it to run on every Ruby implementation, be it
Jruby, Rubinius, Topaz or even mruby. JRuby, Rubinius, Topaz or even mruby.
[nokogiri]: https://github.com/sparklemotion/nokogiri [nokogiri]: https://github.com/sparklemotion/nokogiri
[oga-wikipedia]: https://en.wikipedia.org/wiki/Japanese_saw#Other_Japanese_saws [oga-wikipedia]: https://en.wikipedia.org/wiki/Japanese_saw#Other_Japanese_saws