2

I tried to install with bundle but it gave an error. I do have zlib installed.

Fetching nokogiri 1.7.0.1


Your user account isn't allowed to install to the system RubyGems.
  You can cancel this installation and run:

      bundle install --path vendor/bundle

  to install the gems into ./vendor/bundle/, or you can enter your password
  and install the bundled gems to RubyGems using sudo.

  Password: 
Installing nokogiri 1.7.0.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/tmp/bundler20171101-9510-jcrqsknokogiri-1.7.0.1/gems/nokogiri-1.7.0.1/ext/nokogiri
/usr/bin/ruby2.3 -r ./siteconf20171101-9510-tlx1ob.rb extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.1.0
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/bin/$(RUBY_BASE_NAME)2.3
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --enable-cross-build
    --disable-cross-build

To see why this extension failed to compile, please check the mkmf.log which can
be found here:

/tmp/bundler20171101-9510-jcrqsknokogiri-1.7.0.1/extensions/x86_64-linux/2.3.0/nokogiri-1.7.0.1/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
/tmp/bundler20171101-9510-jcrqsknokogiri-1.7.0.1/gems/nokogiri-1.7.0.1 for
inspection.
Results logged to
/tmp/bundler20171101-9510-jcrqsknokogiri-1.7.0.1/extensions/x86_64-linux/2.3.0/nokogiri-1.7.0.1/gem_make.out

An error occurred while installing nokogiri (1.7.0.1), and Bundler
cannot continue.
Make sure that `gem install nokogiri -v '1.7.0.1'` succeeds before bundling.

In Gemfile:
  nested_form_fields was resolved to 0.8.2, which depends on
    rails was resolved to 5.0.2, which depends on
      actioncable was resolved to 5.0.2, which depends on
        actionpack was resolved to 5.0.2, which depends on
          actionview was resolved to 5.0.2, which depends on
            rails-dom-testing was resolved to 2.0.2, which depends on
              nokogiri
chloe@latitude-d430:~/projects/fortuneempire$ apt list zlib*
Listing... Done
zlib-gst/xenial 3.2.5-1build2 amd64
zlib1g/xenial-updates,now 1:1.2.8.dfsg-2ubuntu4.1 amd64 [installed]
zlib1g-dbg/xenial-updates 1:1.2.8.dfsg-2ubuntu4.1 amd64
zlib1g-dev/xenial-updates 1:1.2.8.dfsg-2ubuntu4.1 amd64
zlibc/xenial,now 0.9k-4.3 amd64 [installed]
chloe@latitude-d430:~/projects/$ 
Chloe
  • 25,162
  • 40
  • 190
  • 357
  • 1
    for Ubuntu run: `sudo apt-get install zlib1g-dev` then reinstall `nokogiri` – Cyzanfar Nov 02 '17 at 00:17
  • 1
    That worked. I installed `zlib1g-dev` and it worked. Oh, I thought that was an `l`. The font on StackOverflow is different than the terminal. I don't know why there are so many `zlib` packages. – Chloe Nov 02 '17 at 00:21
  • 1
    Happy that helped! installing `nokogiri` worked after you installed `zlib`? – Cyzanfar Nov 02 '17 at 00:23

2 Answers2

2

It looks like your error is coming from zlib:

zlib is missing; necessary for building libxml2

From this discussion it seems like installing the package might solve the issue:

for Ubuntu

sudo apt-get install zlib1g-dev

and then just try installing nokogiri:

gem install nokogiri -v '1.7.0.1'
Cyzanfar
  • 6,997
  • 9
  • 43
  • 81
0

Although the question is about Ubuntu, I ran into the error on MacOS and this is what worked for me:

For Mac OS Monterey

bundle config build.nokogiri --use-system-libraries
bundle install

The problem was with the libxml:

libxml2 is missing. Please check the mkmf.log to check how it is failing.