如何在Mac OS Sierra 10.12上安装Nokogiri

时间:2016-10-14 08:52:22

标签: ruby nokogiri

我在Mac OS Sierra 10.12上安装Nokogiri(1.6.8.1)时遇到了麻烦。

我尝试使用brew install libxml2 libxslt然后使用命令行选项引用安装目录,但它没有帮助。

8 个答案:

答案 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 /