我似乎处于一种沮丧的递归循环中。我试图"捆绑安装"一个项目,但结果是:
An error occurred while installing nokogiri (1.6.6.2), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.6.2'` succeeds before bundling.
所以我试试:
$ gem install nokogiri -v '1.6.6.2'
Building native extensions. This could take a while...
Successfully installed nokogiri-1.6.6.2
Parsing documentation for nokogiri-1.6.6.2
Done installing documentation for nokogiri after 2 seconds
1 gem installed
一切都好!除了当我运行"捆绑安装"时,我再次被告知我需要获得" gem install nokogiri -v' 1.6.6.2'"先安装。 AHHHHH。
mkmf.log文件表明这是libxml2的问题(惊喜)。
conftest.c:3:10: fatal error: 'libxml/xmlversion.h' file not found
#include <libxml/xmlversion.h>
^
1 error generated.
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: #include <libxml/xmlversion.h>
4:
5: #if LIBXML_VERSION < 20621
6: #error libxml2 is way too old
7: #endif
/* end */
因此,搜索libxml2(使用&#34; sudo find / -name libxml2&#34;)会显示这些目录,所有目录都至少为2.9.0或更高:
那么,是不是找不到libxml2的问题?如果是这样,我如何获得bundle install以意识到已经安装了nokogiri,或者至少能够以相同的方式安装它&#34; gem install&#34;呢?虽然我想为此找到解决方案,但我真的很有兴趣了解正在发生的事情&#34;在封面下#34;所以我将来可以排除故障。
答案 0 :(得分:2)
在我的Mac OS X上,我运行了这些命令,问题已解决。
brew unlink gcc-4.2 # you might not need this step
gem uninstall nokogiri
xcode-select --install
gem install nokogiri