Если вы получаете сообщение об ошибке сегментации от nokogiri, например, когда вы открываете консоль rails, и вы используете RVM, и ваша версия ruby имеет значение 1.9.2 (у меня сейчас 1.9.2p136), и вы заметили ссылку наruby 1.8.7 сразу после сообщения об ошибке сегментации nokogiri, возможно, вам может помочь следующее:
ERROR
$ rails c
/Users/lex/.rvm/gems/ruby-1.9.2-p136@lmi/gems/nokogiri-1.4.4/lib/nokogiri/nokogiri.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
Abort trap
SOLUTION
(1) makeУбедитесь, что ruby 1.8.7 не является версией rvm ruby: - запустите rvm list
, если это так, удалите его: например: rvm uninstall ree-1.8.7-2010.02
(2) удалить nokogiri и связанные с libxml2 зависимости:
$ gem uninstall nokogiri
$ brew uninstall libxml2
(3) установить libxml2 с помощью homebrew
$ brew install libxml2
$ brew link libxml2
(4) установить libxslt из источника
$ wget ftp://xmlsoft.org/libxml2/libxslt-1.1.26.tar.gz
$ tar -zxvf libxslt-1.1.26.tar.gz
$ cd libxslt-1.1.26
$ ./configure --prefix=/usr/local/Cellar/libxslt/1.1.26 --with-libxml-prefix=/usr/local/Cellar/libxml2/2.7.7
$ make
$ sudo make install
(5) установить nokogiri
gem install nokogiri
Альтернатива (убедитесь, что ваши пути указаны правильно): gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.7/include --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.7/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26
(6) тест
$ rails c
Loading development environment (Rails 3.0.3)
>>
Получение и хранение вашего RubyБиблиотеки разбора XML, работающие должным образом, могут быть проблемой.Вот несколько альтернатив: LibXML, Hpricot, REXML