How to install Nokogiri on Mac OS Sierra 10.12
Asked Answered
G

9

73

I'm having troubles installing Nokogiri (1.6.8.1) on Mac OS Sierra 10.12.

I tried using brew install libxml2 libxslt and then referencing the install directories using command line options but it didn't help.

Gumbotil answered 14/10, 2016 at 8:52 Comment(1)
If trying to install Nokogiri > v1.6.8.1 after installing Mac OS Sierra, I found that v1.7.1 will have problems if that's the first version being installed with that version of Ruby. Installing v1.6.8.1 then updating using gem update nokogiri through the intervening versions until v1.7.1 allowed me to get it installed. It's a hack but worked and once I had it installed I didn't feel like digging in more.Rollmop
G
180

Open Xcode and, from the menu XCode -> Preferences update your Command Line Tools (Xcode 8.0).

Then do:

bundle config build.nokogiri --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2
bundle install

or just:

gem install nokogiri -v 1.6.8.1 -- --use-system-libraries=true --with-xml2-include="$(xcrun --show-sdk-path)"/usr/include/libxml2
Gumbotil answered 14/10, 2016 at 8:52 Comment(4)
The answer by NDan is simplerDareen
New versions of Mac OS require Xcode to be updated, which invalidates the command-line tools, so they need to be reinstalled. Nokogiri is bundled with its own version of libxml2, which helps on many systems, but sometimes gem needs to be told where to find things. gem actually will do the right thing once Xcode is updated.Rollmop
+1 Great! It works also if you have XCode 9.x. Here you don't need to update command line tools; if not updated just open XCode and it will take care of it.Antifouling
this worked for me while the supposedly simpler answer mentioned in the comments didn'tPaleontography
R
126

The more simple solution is to execute:

xcode-select --install
gem install nokogiri

Update

For Mojave I'm using gem install nokogiri -v '1.6.6.2' -- --use-system-libraries

Retuse answered 24/10, 2016 at 8:1 Comment(4)
This worked for me. After updating to OS Sierra, I updated xcode and then nokogiri installed smoothly.Pouched
Working in 2017! Thanks 👍Treasurehouse
You actually need to either open xcode and install updates or run code suggested here.Lowrie
Thank you, it needs to burn in hell but at least this will likely fix it.Hydracid
B
47

Try install libxml2 first with Homebrew.

brew install libxml2

Then if installing with bundle

bundle config build.nokogiri --use-system-libraries \
  --with-xml2-include=$(brew --prefix libxml2)/include/libxml2
bundle install

If installing directly with gem

gem install nokogiri -- --use-system-libraries \
  --with-xml2-include=$(brew --prefix libxml2)/include/libxml2
Broad answered 6/1, 2017 at 4:56 Comment(2)
Worked for me too on High Sierra. Thanks!Haught
Wow. You saved my day. Thanks. I am on High Sierra 10.13.3.Cesta
L
11

This might be a duplicate of gem install nokogiri -v '1.6.8.1' fails ... latest accepted answer there was to do:

brew unlink xz; bundle install; brew link xz

Re-linking xz might not be necessary ... if for example you only have that dependency because of the_silver_searcher (which links directly against the non-symlinked library).

Lupitalupo answered 21/10, 2016 at 12:55 Comment(0)
H
11
gem update --system
xcode-select --install
brew unlink xz
gem install nokogiri -v '1.6.8.1'
brew link xz

If the above steps fail to fix the issue, what has also worked for me is running brew doctor and cleaning up any unbrewed header files.

Hermineherminia answered 28/11, 2016 at 17:22 Comment(2)
This is what worked for me. For some reason 'bundle update' would fail. I had to install nokogiri as suggested in this answer.Merri
I had previously installed Nokogiri just a few months ago, but changed Ruby versions and install of 1.8.0 was failing. I was able to install it via the unlink xz / gem isntall pattern (without gem update or xcode select)Fogle
S
10

Similar to yuяi's answer and from Nokogiri's help:

brew unlink xz
gem install nokogiri
brew link xz

http://www.nokogiri.org/tutorials/installing_nokogiri.html#mac_os_x

This worked for 1.7.0.1

Sos answered 6/1, 2017 at 1:41 Comment(0)
W
1

For Middleman

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/

Whippet answered 6/5, 2019 at 6:0 Comment(0)
F
0

If you have earlier installed nokogiri using bundler with bundle config build.nokogiri --use-system-libraries this setting will still be there. If you then meanwhile have solved your Xcode setup (as suggested as the primary method of installation in the nokogiri installation) then you might wanna try removing that fra from bundler bundle config --delete build.nokogiri and try again doing bundle install.

Fennel answered 6/7, 2018 at 11:43 Comment(0)
E
0

First install XCode from the app store

then run

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

then run

bundle install

this should work

Ellamaeellan answered 23/12, 2021 at 11:30 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.