我在Mac OS Sierra 10.12上安装Nokogiri(1.6.8.1(时遇到问题。
我尝试使用brew install libxml2 libxslt
,然后使用命令行选项引用安装目录,但没有帮助。
打开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
更简单的解决方案是执行:
xcode-select --install
gem install nokogiri
更新
对于Mojave,我使用gem install nokogiri -v '1.6.6.2' -- --use-system-libraries
尝试先用Homebrew安装libxml2。
brew install libxml2
然后,如果使用捆绑进行安装
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
这可能是gem install nokogiri-v';1.6.8.1';失败。。。最新被接受的答案是:
brew unlink xz; bundle install; brew link xz
可能没有必要重新链接xz
。。。例如,如果由于the_silver_searcher
(直接链接到非符号链接库(而仅具有该依赖项。
gem update --system
xcode-select --install
brew unlink xz
gem install nokogiri -v '1.6.8.1'
brew link xz
如果以上步骤未能解决问题,对我来说同样有效的是运行brew doctor
并清理任何未屏蔽的头文件。
类似于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
对于Middleman
gem install nokogiri-v‘1.8.2’--使用系统库=true--带有-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develer/SDKs/MacOSX10.13.sdk/usr/include/libxml2/
如果您之前使用带有bundle config build.nokogiri --use-system-libraries
的bundler安装了nokogiri,则此设置仍然存在。如果同时您已经解决了Xcode设置(正如nokogiri安装中建议的主要安装方法(,那么您可能想尝试从bundler bundle config --delete build.nokogiri
中删除该fra,然后重试bundle install
。
首先从应用商店安装XCode
然后运行
bundle config build.nokogiri --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries
然后运行
bundle install
这应该工作