如何在 Mac OS Sierra 10.12上安装 Nokogiri

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

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

22799 次浏览

打开 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

这可能是 Gem install nokogiri-v & # 39; 1.6.8.1 & # 39;的复制品... ... 最新公认的答案是:

brew unlink xz; bundle install; brew link xz

重新链接 xz可能是不必要的... 例如,如果您只有那个依赖项,因为 the_silver_searcher(它直接链接到非符号链接库)。

更简单的解决方案是执行:

xcode-select --install
gem install nokogiri

更新

对于莫哈韦沙漠,我使用的是 gem install nokogiri -v '1.6.6.2' -- --use-system-libraries

gem update --system
xcode-select --install
brew unlink xz
gem install nokogiri -v '1.6.8.1'
brew link xz

如果上面的步骤不能解决这个问题,那么对我来说同样有效的是运行 brew doctor和清理任何未经处理的头文件。

与余一的回答和 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有效

首先尝试使用 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

如果你早些时候安装 nokogiri 使用捆绑包与 bundle config build.nokogiri --use-system-libraries这个设置将仍然存在。如果你同时解决了你的 Xcode 设置(正如 nokogiri 安装中的主要安装方法所建议的那样) ,那么你可能需要尝试从 bundler bundle config --delete build.nokogiri中删除 fra,然后再次尝试执行 bundle install

给中间人的

Gem install nokogiri-v’1.8.2’—— use-system-library = true —— with-xml2-include =/Applications/Xcode.app/content/Developer/Platforms/MacOSX.Platform/Developer/SDKs/MacOSX10.13. sdk/usr/include/libxml2/

首先从应用程序商店安装 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

这应该能行