Ruby Can';t安装Nokogiri gem,”;libxml/parser.h“;没有找到,但它在那里,为什么?

Ruby Can';t安装Nokogiri gem,”;libxml/parser.h“;没有找到,但它在那里,为什么?,ruby,gem,nokogiri,libxml2,Ruby,Gem,Nokogiri,Libxml2,我试图安装Nokogiri,但总是出现编译错误: checking for libxml/parser.h... *** extconf.rb failed *** 但是,我已经安装了它和所有其他依赖项 我尝试向安装程序提供如下提示: %> gem install nokogiri -- --with-xml2-lib=/usr/lib/ --with-xml2-include=/usr/include/libxml2/ ... checking for libxml/parser.

我试图安装Nokogiri,但总是出现编译错误:

checking for libxml/parser.h... *** extconf.rb failed ***
但是,我已经安装了它和所有其他依赖项

我尝试向安装程序提供如下提示:

%> gem install nokogiri -- --with-xml2-lib=/usr/lib/ --with-xml2-include=/usr/include/libxml2/

...

checking for libxml/parser.h... *** extconf.rb failed ***

...
但它仍然没有安装:

%> find /usr/include/ -name "parser.h"    
/usr/include/libxml2/libxml/parser.h
...
我在Ubuntu 11.10上

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

产出:

“”和“”

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

失败似乎站在GCC一边:

%> cat hello.c
#include <stdio.h>

main()
{
   printf("Hello World \n");
}

%> gcc hello.c
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x12): undefined reference to `__libc_csu_fini'
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crt1.o: In function `_start':
(.text+0x19): undefined reference to `__libc_csu_init'
collect2: ld gab 1 als Ende-Status zurück
%>cat hello.c
#包括
main()
{
printf(“Hello World\n”);
}
%>你好
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../../../x86_64-linux-gnu/crt1.o:在函数“u start”中:
(.text+0x12):对“\uu libc\u csu\u fini”的未定义引用
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../../../x86_64-linux-gnu/crt1.o:在函数“u start”中:
(.text+0x19):对“\uu libc\u csu\u init”的未定义引用
收藏品2:ld gab 1 als Ende Status zurück
这将起作用

sudo apt-get install libxslt-dev libxml2-dev
gem install nokogiri

我刚刚在centos 6.6版(最终版)上遇到了同样的问题

…解决了这个问题


(请参阅:)

了解这是什么操作系统会很有帮助。尝试另一种方法-您应该在安装失败的目录中有一个
mkmf.log
文件。你能给我们看一下那个文件的内容吗?另外-您的系统上是否安装了构建工具和编译器
extconf.rb
可能正在尝试进行测试构建。尝试从命令行运行类似于
gcc
make
的程序,看看它们是否响应。我认为您确实没有安装它们。您是否使用
sudo apt get install libxml2 dev libxslt dev
安装了它们?嗯,我今天在Mac OSX上遇到了类似的问题,关于nokogiri 1.5.2这个问题应该重新讨论。我在AmazonEC2实例上使用Ubuntu13.04时遇到了这个问题。我想很多人都可以像我一样通过这个问题得到帮助;gem卸载libxml-ruby;然后重新安装我一直遇到此错误,每次尝试运行Rails 3应用程序时都必须使用此解决方案。我通过
yum-install-libxml2-devel-libxslt-devel
(在CentOS 6.7上)侥幸逃脱。我没有安装系统Ruby,因此这就省去了我安装大量Ruby相关依赖项的麻烦。
sudo yum install -y rubygem-nokogiri