我在Mac OS Sierra 10.12上安装Nokogiri(1.6.8.1)时遇到了麻烦。
我尝试使用brew install libxml2 libxslt
然后使用命令行选项引用安装目录,但它没有帮助。
答案 0 :(得分:173)
打开Xcode,然后从菜单XCode
- > Preferences
更新命令行工具(Xcode 8.0)。
然后做:
bundle config build.nokogiri --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2
bundle install
或只是:
gem install nokogiri -v 1.6.8.1 -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2
答案 1 :(得分:121)
更简单的解决方案是执行:
xcode-select --install
gem install nokogiri
<强>更新强>
对于Mojave我正在使用gem install nokogiri -v '1.6.6.2' -- --use-system-libraries
答案 2 :(得分:41)
首先尝试使用Homebrew安装libxml2。
brew install libxml2
然后使用bundle
进行安装bundle config build.nokogiri --use-system-libraries \
--with-xml2-include=$(brew --prefix libxml2)/include/libxml2
bundle install
如果直接用gem安装
gem install nokogiri -- --use-system-libraries \
--with-xml2-include=$(brew --prefix libxml2)/include/libxml2
答案 3 :(得分:11)
这可能是gem install nokogiri -v '1.6.8.1' fails的重复...最近接受的答案:
brew unlink xz; bundle install; brew link xz
可能没有必要重新链接xz
...例如,由于the_silver_searcher
(直接链接到非符号链接库),您只有该依赖关系。
答案 4 :(得分:11)
gem update --system
xcode-select --install
brew unlink xz
gem install nokogiri -v '1.6.8.1'
brew link xz
如果上述步骤无法解决问题,那么对我来说有效的方法是运行brew doctor
并清理所有未提取的头文件。
答案 5 :(得分:10)
类似于yuяi的回答和Nokogiri的帮助:
brew unlink xz
gem install nokogiri
brew link xz
http://www.nokogiri.org/tutorials/installing_nokogiri.html#mac_os_x
这适用于1.7.0.1
答案 6 :(得分:0)
如果您先前使用bundle config build.nokogiri --use-system-libraries
捆绑器安装了nokogiri,则此设置仍然存在。如果同时解决了Xcode的设置问题(建议作为nokogiri安装的主要安装方法),那么您可能想尝试从捆绑软件bundle config --delete build.nokogiri
中删除该帧,然后再次尝试执行bundle install
。>
答案 7 :(得分:0)
对于中间人
gem install nokogiri -v'1.8.2'---use-system-libraries = true --with-xml2-include = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer /SDKs/MacOSX10.13.sdk/usr/include/libxml2 /