如何在 Mac OS Sierra 10.12 上安装 Nokogiri
Posted
技术标签:
【中文标题】如何在 Mac OS Sierra 10.12 上安装 Nokogiri【英文标题】:How to install Nokogiri on Mac OS Sierra 10.12 【发布时间】:2017-02-23 15:17:48 【问题描述】:我在 Mac OS Sierra 10.12 上安装 Nokogiri (1.6.8.1) 时遇到问题。
我尝试使用brew install libxml2 libxslt
,然后使用命令行选项引用安装目录,但没有帮助。
【问题讨论】:
如果在安装 Mac OS Sierra 后尝试安装 Nokogiri > v1.6.8.1,我发现如果 v1.7.1 是使用该版本的 Ruby 安装的第一个版本,则会出现问题。安装 v1.6.8.1 然后使用gem update nokogiri
通过中间版本进行更新,直到 v1.7.1 允许我安装它。这是一个 hack,但很有效,一旦我安装了它,我就不想再深入研究了。
【参考方案1】:
打开 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
【讨论】:
NDan 的回答比较简单 谢谢,真的很有帮助 新版本的 Mac OS 需要更新 Xcode,这会使命令行工具失效,因此需要重新安装。 Nokogiri 与它自己的 libxml2 版本捆绑在一起,这对许多系统都有帮助,但有时需要告诉 gem 去哪里找东西。一旦 Xcode 更新,gem 实际上会做正确的事情。 +1 太好了!如果您有 XCode 9.x,它也可以工作。这里不需要更新命令行工具;如果没有更新,只需打开 XCode,它就会处理它。 这对我有用,而 cmets 中提到的所谓更简单的答案却没有【参考方案2】:更简单的解决方案是执行:
xcode-select --install
gem install nokogiri
更新
对于 Mojave,我使用的是 gem install nokogiri -v '1.6.6.2' -- --use-system-libraries
【讨论】:
这对我有用。更新到 OS Sierra 后,我更新了 xcode,然后顺利安装了 nokogiri。 2017 年工作!谢谢? 您实际上需要打开 xcode 并安装更新或运行此处建议的代码。 谢谢,它需要在地狱中燃烧,但至少这可能会解决它。【参考方案3】:尝试先用 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
【讨论】:
在 High Sierra 上也为我工作过。谢谢! 哇。你拯救了我的一天。谢谢。我在 High Sierra 10.13.3。【参考方案4】:这可能是 gem install nokogiri -v '1.6.8.1' fails 的副本...最新接受的答案是:
brew unlink xz; bundle install; brew link xz
重新链接xz
可能没有必要......例如,如果您因为the_silver_searcher
(直接链接到非符号链接库)而只有该依赖项。
【讨论】:
【参考方案5】:gem update --system
xcode-select --install
brew unlink xz
gem install nokogiri -v '1.6.8.1'
brew link xz
如果上述步骤未能解决问题,对我来说同样有效的是运行 brew doctor
并清理所有未编译的头文件。
【讨论】:
这对我有用。由于某种原因,“捆绑更新”会失败。我必须按照这个答案中的建议安装 nokogiri。 几个月前我刚刚安装了 Nokogiri,但更改了 Ruby 版本并且安装 1.8.0 失败。我能够通过 unlink xz / gem isntall 模式安装它(没有 gem 更新或 xcode 选择)【参考方案6】:类似于 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
【讨论】:
【参考方案7】:中间人
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/
【讨论】:
【参考方案8】:如果您之前使用带有bundle config build.nokogiri --use-system-libraries
的捆绑程序安装了 nokogiri,则此设置仍然存在。如果您同时解决了 Xcode 设置(建议作为 nokogiri 安装中的主要安装方法),那么您可能想尝试从捆绑程序 bundle config --delete build.nokogiri
中删除该 fra,然后再次尝试执行 bundle install
。
【讨论】:
【参考方案9】:首先从应用商店安装 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
这应该可以工作
【讨论】:
以上是关于如何在 Mac OS Sierra 10.12 上安装 Nokogiri的主要内容,如果未能解决你的问题,请参考以下文章
在 OS X 10.11 El Capitan、macOS 10.12 Sierra、macOS 10.13 High Sierra (< 10.13.3) 上安装 pecl 和 pear
mac 10.12 sierra 机械键盘+ratm可编程鼠标记录
从 OS Sierra 10.12 上的终端分段错误 11 错误重新签署 IPA
Mac OS10.12下安装MacPorts + Pallet ,让你更方便管理软件的安装和删除!!