rubys / nokogumbo

A Nokogiri interface to the Gumbo HTML5 parser.
Apache License 2.0
186 stars 114 forks source link

Unable to install nokogumbo gem on Mac #180

Closed erajanraja24 closed 2 years ago

erajanraja24 commented 2 years ago

I'm on MacOS Big Sur 11.4

Getting below error when I try to install nokogumbo version 2.0.5

Can someone help with this


em::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogumbo-2.0.5/ext/nokogumbo
/Users/rajan/.rvm/rubies/ruby-2.3.7/bin/ruby -r ./siteconf20211020-4764-1aion9c.rb extconf.rb --use-system-libraries
*** 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
        --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=/Users/rajan/.rvm/rubies/ruby-2.3.7/bin/$(RUBY_BASE_NAME)
/Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `require': cannot load such file -- nokogiri/nokogiri
(LoadError)
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri/extension.rb:30:in `rescue in <top (required)>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri/extension.rb:4:in `<top (required)>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri.rb:11:in `require_relative'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri.rb:11:in `<top (required)>'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from extconf.rb:4:in `<main>'

extconf failed, exit code 1

Ruby version - 2.3.7

Tried below approaches but shouldn't help

gem install nokogumbo -v '2.0.5' -- --use-system-libraries

gem install nokogumbo -v '2.0.5' -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/libxml2/
flavorjones commented 2 years ago

Hi @erajanraja24, sorry you're having problems, I'll try to help.

Can you reply with the output from nokogiri -v and gem env, please?

erajanraja24 commented 2 years ago

Sure, Output for nokogiri -v

/Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri/extension.rb:30:in `rescue in <top (required)>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri/extension.rb:4:in `<top (required)>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri.rb:11:in `require_relative'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/lib/nokogiri.rb:11:in `<top (required)>'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
        from /Users/rajan/.rvm/rubies/ruby-2.3.7/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/gems/nokogiri-1.12.4-x86_64-darwin/bin/nokogiri:6:in `<top (required)>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/bin/nokogiri:23:in `load'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/bin/nokogiri:23:in `<main>'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/bin/ruby_executable_hooks:22:in `eval'
        from /Users/rajan/.rvm/gems/ruby-2.3.7/bin/ruby_executable_hooks:22:in `<main>'

output for gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.6
  - RUBY VERSION: 2.3.7 (2018-03-28 patchlevel 456) [x86_64-darwin20]
  - INSTALLATION DIRECTORY: /Users/rajan/.rvm/gems/ruby-2.3.7
  - USER INSTALLATION DIRECTORY: /Users/rajan/.gem/ruby/2.3.0
  - RUBY EXECUTABLE: /Users/rajan/.rvm/rubies/ruby-2.3.7/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/rajan/.rvm/gems/ruby-2.3.7/bin
  - SPEC CACHE DIRECTORY: /Users/rajan/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/rajan/.rvm/rubies/ruby-2.3.7/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-20
  - GEM PATHS:
     - /Users/rajan/.rvm/gems/ruby-2.3.7
     - /Users/rajan/.rvm/gems/ruby-2.3.7@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/rajan/.rvm/gems/ruby-2.3.7/bin
     - /Users/rajan/.rvm/gems/ruby-2.3.7@global/bin
     - /Users/rajan/.rvm/rubies/ruby-2.3.7/bin
     - /Users/rajan/.rvm/bin
     - /Users/rajan/.nvm/versions/node/v10.24.0/bin
     - /usr/local/opt/mysql@5.7/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Library/Apple/usr/bin
flavorjones commented 2 years ago

OK, it looks like the Nokogiri installation is in a bad state. Can you please un-install all versions of Nokogiri and then try gem install nokogumbo again?

erajanraja24 commented 2 years ago

@flavorjones Thank you so much, uninstalling all versions of nokogiri and installing it again fixed the issue. Here's the command if someone having the same issue

gem uninstall nokogiri Install the version you need gem install nokogiri --version 1.10.10

check the version is displayed properly nokogiri -v