Running 'compile' for libxslt 1.1.28... OK
Running 'install' for libxslt 1.1.28... OK
Activating libxslt 1.1.28 (from /Users/Kartik/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/nokogiri-1.6.4.1/ports/x86_64-apple-darwin14.0.0/libxslt/1.1.28)...
checking for main() in -llzma... yes
checking for xmlParseDoc() in libxml/parser.h... no
checking for xmlParseDoc() in -lxml2... no
checking for xmlParseDoc() in -llibxml2... no
缺少libxml2。请找到mkmf.log来调查它是如何失败的。
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
答案 0 :(得分:81)
我摆弄了这一段很长一段时间,以下内容对我有用..
1)使用自制软件安装libxml2
brew install libxml2
2)通过
安装gemsudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --use-system-libraries --with-xml=/usr/local/Cellar/libxml2/
答案 1 :(得分:15)
对于任何仍在使用的人,需要使用libxml2版本2.6.21或更高版本!"消息,从hlv上面的第2步中删除--use-system-libraries,为我工作。
sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri:1.6.4.1 -- --with-xml=/usr/local/Cellar/libxml2/2.9.2/
答案 2 :(得分:3)
我最终得到了这个版本独立的一行:
sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri -n /usr/local/bin -- --with-xml=/usr/local/Cellar/libxml2/
答案 3 :(得分:2)
这对我有用(假设安装了Xcode):
gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
灵感来自https://stackoverflow.com/a/28767045/1884907(信用到lx00st)
答案 4 :(得分:2)
(对于MacOX 10.12.x)也许你想要brew install libxml2
并尝试首先链接到/usr/local/
:brew link --force libxml2
,然后尝试gem install nokogiri -- --use-system-libraries
。
答案 5 :(得分:1)
使用端口:
gem install nokogiri -- --use-system-libraries --with-xml=/opt/local/lib/libxml2.a
答案 6 :(得分:0)
我的解决方案,使用ports:
The
patient
is
currently
being
treated
for
Diabetes
with
Thiazide diuretics
默认情况下,它将针对x86_64和i386进行编译,i386的体系结构应该被禁用,因为端口中的依赖库默认情况下只提供x86_64版本。
答案 7 :(得分:0)
这是所有其他答案的重新表达,但这对我有用:
gem install nokogiri -v '1.6.6.2' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.16 --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 --use-system-libraries