Libxslt在安装ruby gem nokogiri时丢失



我知道这是一个重复的问题,但是我发现与这个问题相关的所有其他答案似乎都没有帮助我…

我正在安装GitLab并运行gem依赖项,当它达到NokoGiri gem要求并失败时,显示以下信息:

ERROR:  Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config. 
extconf.rb:11:in `<main>': Use RbConfig instead of obsolete and deprecated Config.
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... yes
checking for xmlParseDoc()... -lxml2
checking for xsltParseStylesheetDoc()... -lxslt
-----
libxslt is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----

所以,这个错误导致我沿着尝试安装libxslt的路径使用以下命令:

$ sudo apt-get install libxslt-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
libxslt1-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 146 not upgraded.

怎么了?NokoGiri需要这个包,但是这个包已经安装了!!我似乎无法解决这个问题,有什么帮助吗?

首先确保你有所有的依赖项,正如"在Ubuntu上使用RVM安装Nokogiri"中提到的(其中提到了完全相同的错误信息)

我不知道为什么它找不到"libxslt"包。不用担心这个,我要安装Nokogiri GitHub页面上列出的依赖项:

$ sudo apt-get install libxslt-dev libxml2-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
libxslt1-dev is already the newest version.
libxml2-dev is already the newest version.

这似乎已经足够好了,所以我继续。下一步是安装实际的Nokogiri gem。说明说使用"sudo gem install nokogiri",但因为我使用的是RVM,所以我省略了"sudo"部分:

$ gem install nokogiri

考虑到"在Ubuntu中重新安装RVM不允许我安装gems (zlib错误)",因为你有libxslt1-dev(而不是libxslt-dev),你可能会考虑重新编译你的ruby。
(有点像"如何在Ubuntu 11.10上使用RVM在IRB中获得Readline支持")

试试Nokogiri 1.6.0。Rc1,它在gem中捆绑了libxml2和libxslt。这将解决您的安装问题:

gem install nokogiri --pre

尝试安装依赖项

sudo apt-get install libxslt-dev libxml2-dev

也许这对其他人会有帮助:如果收到错误:

<>之前 libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. 之前

您还需要安装libxslt的开发版本 apt-get install libxslt-dev 或在CentOS

yum install libxslt-devel

根据您的Linux风格从下面选择并安装合适的库:-

  • deb: libxslt1-dev (Debian, Ubuntu等)
  • rpm: libxslt-devel (Fedora, CentOS, RHEL)
  • 世界基督教联合会: libxslt_dev (Solaris)

使用apt-get、yum等合适的命令安装

如果您想安装nokogiri的旧版本,请安装nokogiri 1.6.0。

您必须单独安装libxslt:

sudo apt-get install libxslt-dev libxml2-dev

之后再次运行命令:(对我来说)

gem install nokogiri -v '1.5.11'

相关内容

  • 没有找到相关文章

最新更新