加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

升级到ruby 1.9.2并在nokogiri中获得Segmentation Fault错误

发布时间:2020-12-17 03:58:27 所属栏目:百科 来源:网络整理
导读:我决定昨天升级到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] S
我决定昨天升级到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那里得到一个Segmentation fault错误,例如,当你打开rails控制台,并且你正在使用RVM并且你的ruby版本是1.9.2(我当前是1.9.2p136)并且你注意到对ruby 1.8的引用.在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列表

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读