gpt4 book ai didi

ruby - 升级到 ruby​​ 1.9.2 并在 nokogiri 中出现 Segmentation Fault 错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:23:24 25 4
gpt4 key购买 nike

我昨天决定升级到 1.9.2 ruby​​ 并且还安装了 rvm 来完成它。我运行了一些我以前在 1.8.7 上工作过的最近的文件,但是任何需要 nokogiri 的东西都会失败,并出现以下错误。

/Users/myusername/.rvm/gems/ruby-1.9.2-p0/gems/nokogiri-1.4.3.1/lib/nokogiri/nokogiri.bundle: [BUG] Segmentation fault
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]

我在 OSX Snow Leopard 10.6.4 上运行 nokogiri 1.4.3.1,ruby 1.9.2

最佳答案

如果您从 nokogiri 收到段错误错误,例如,当您打开 Rails 控制台时,您正在使用 RVM 并且您的 ruby​​ 版本是 1.9.2(我的当前是 1.9.2p136)并且您注意到对ruby 1.8.7 就在 nokogiri 段错误消息之后,那么以下内容可能会有所帮助......

错误

$ 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

解决方案

(1) 确保 ruby​​ 1.8.7 不是 rvm ruby​​ 版本:- 运行 rvm list

if it is, then remove it: ex: rvm uninstall ree-1.8.7-2010.02

(2)卸载nokogiri和libxml2相关依赖:

$ gem uninstall nokogiri
$ brew uninstall libxml2

(3) 使用自制软件安装 libxml2

$ 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

关于ruby - 升级到 ruby​​ 1.9.2 并在 nokogiri 中出现 Segmentation Fault 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com