【问题标题】:How do I install nokogiri 1.7.0.1 on Ubuntu 16.04.3?如何在 Ubuntu 16.04.3 上安装 nokogiri 1.7.0.1?
【发布时间】:2017-11-02 00:09:40
【问题描述】:

我尝试使用bundle 进行安装,但出现错误。我确实安装了zlib

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/$ 

【问题讨论】:

  • 对于 Ubuntu 运行:sudo apt-get install zlib1g-dev 然后重新安装 nokogiri
  • 那行得通。我安装了zlib1g-dev,它成功了。哦,我还以为是l。 StackOverflow 上的字体与终端不同。我不知道为什么有这么多zlib 包。
  • 很高兴有帮助!在安装 zlib 后安装 nokogiri 是否有效?

标签: ruby-on-rails ubuntu nokogiri bundler zlib


【解决方案1】:

您的错误似乎来自zlib

zlib 丢失;构建 libxml2 所必需的

this 的讨论看来,安装软件包可能会解决问题:

适用于 Ubuntu

sudo apt-get install zlib1g-dev

然后尝试安装nokogiri:

gem install nokogiri -v '1.7.0.1'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 2020-06-24
    相关资源
    最近更新 更多