我认识到这是一个重复的问题,但我发现与此问题相关的所有其他答案似乎对我没有帮助......
我正在安装GitLab
并在遇到NokoGiri
gem要求时运行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需要这个包,但是已经安装了包!我似乎无法解决这个问题,那里有任何帮助吗?
答案 0 :(得分:35)
首先确保您拥有所有依赖项,如&#34; Installing Nokogiri with RVM on Ubuntu&#34; (提到了同样的错误信息)
我不知道为什么它找不到包&#34; libxslt&#34;。我没有担心这一点,而是要安装Nokogiri GitHub page上列出的依赖项:
$ 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宝石。说明使用&#34; sudo gem install nokogiri&#34;,但因为我使用RVM,我放弃&#34; sudo&#34;部分:
$ gem install nokogiri
考虑&#34; Fresh install of RVM in Ubuntu isn't letting me install gems (zlib error)&#34;,因为您有libxslt1-dev
(而非libxslt-dev
),您可能会考虑重新编译您的红宝石。
(有点像&#34; How to get Readline support in IRB using RVM on Ubuntu 11.10&#34;)
答案 1 :(得分:12)
尝试Nokogiri 1.6.0.rc1,它将gem中的libxml2和libxslt捆绑在一起。这应该解决您的安装问题:
gem install nokogiri --pre
应该这样做。
答案 2 :(得分:10)
尝试安装依赖项
sudo apt-get install libxslt-dev libxml2-dev
答案 3 :(得分:9)
也许这会对其他人有所帮助: 如果你收到错误:
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
答案 4 :(得分:1)
根据您的Linux风格从下面选择并安装合适的库:-
- deb: libxslt1-dev (Debian,Ubuntu等)
- rpm: libxslt-devel (Fedora,CentOS,RHEL)
- csw: libxslt_dev (Solaris)
使用适当的命令安装,例如apt-get,yum等。
答案 5 :(得分:0)
如果您想安装以前版本的nokogiri,安装Nokogiri 1.6.0.rc1将无法解决问题。
您必须安装libxslt
separetly:
sudo apt-get install libxslt-dev libxml2-dev
之后再次运行您的命令: (在我的情况下)
gem install nokogiri -v&#39; 1.5.11&#39;