Erreur lors de l’installation de Nokogiri (1.6.7) sur El Capitan

Un de mes développeurs a mis à jour Nokogiri, et lors de la mise à jour de Gemfile, mon bundle install échoue.

 ➜ my-project git:(master) bundle install Fetching source index from https://rubygems.org/ Using rake 10.4.2 Using i18n 0.7.0 Using json 1.8.3 Using minitest 5.8.3 Using thread_safe 0.3.5 Using tzinfo 1.2.2 Using activesupport 4.2.3 Using builder 3.2.2 Using erbuy 2.7.0 Using mini_portile2 2.0.0 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /Users/me/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb --use-system-libraries checking if the C comstackr accepts ... yes checking if the C comstackr accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no Building nokogiri using system libraries. libxml2 version 2.6.21 or later is required! *** 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=/Users/me/.rvm/rubies/ruby-2.1.2/bin/ruby --help --clean --use-system-libraries --with-zlib-dir --without-zlib-dir --with-zlib-include --without-zlib-include=${zlib-dir}/include --with-zlib-lib --without-zlib-lib=${zlib-dir}/lib --with-xml2-dir --without-xml2-dir --with-xml2-include --without-xml2-include=${xml2-dir}/include --with-xml2-lib --without-xml2-lib=${xml2-dir}/lib --with-libxml-2.0-config --without-libxml-2.0-config --with-pkg-config --without-pkg-config --with-xslt-dir --without-xslt-dir --with-xslt-include --without-xslt-include=${xslt-dir}/include --with-xslt-lib --without-xslt-lib=${xslt-dir}/lib --with-libxslt-config --without-libxslt-config --with-exslt-dir --without-exslt-dir --with-exslt-include --without-exslt-include=${exslt-dir}/include --with-exslt-lib --without-exslt-lib=${exslt-dir}/lib --with-libexslt-config --without-libexslt-config extconf failed, exit code 1 Gem files will remain installed in /Users/me/.rvm/gems/ruby-2.1.2@my-project/gems/nokogiri-1.6.7 for inspection. Results logged to /Users/me/.rvm/gems/ruby-2.1.2@my-project/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.7/gem_make.out An error occurred while installing nokogiri (1.6.7), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.6.7'` succeeds before bundling. 

Comme suggéré dans ” Ne pas installer gem Nokogiri “, j’ai essayé sans succès de lancer:

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

Comme suggéré dans ” Ne pas installer le joyau Nokogiri “, j’ai aussi essayé:

 gem install nokogiri -- --use-system-libraries 

et:

 gem install nokogiri -v 1.6.5 -- --use-system-libraries 

Ma version du système d’exploitation est El Capitan 10.11.2 et j’ai vérifié que le contrat de licence Xcode a été accepté.

Des idées pour réussir l’installation de Nokogiri?

Vous devez d’abord installer les xcode-select , puis réinstaller nokogiri. Essayez ces commandes,

 xcode-select --install 

Alors essaye

 gem install nokogiri 

avec n’importe quelle version de Nokogiri que vous voulez.

Nokogiri dépend de plusieurs bibliothèques comme libxslt, libxml et zlib. Les versions de dev (y compris la source) doivent être installées avant d’installer Nokogiri dans n’importe quelle dissortingbution Linux. Pour OS X, la commande ci-dessus devrait fonctionner, je suppose.

La solution actuelle se trouve dans les commentaires ci-dessous.

Essaye ça :

 gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ 

Et puis courir

 bundle update 

J’espère que cela pourrait vous aider 🙂

Si vous utilisez homebrew pour maintenir des bibliothèques comme libml sur votre mac, la commande suivante sur votre mac pourrait vous aider:

 gem install nokogiri -v '1.6.8' -- --use-system-libraries --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib/ 

assurez-vous simplement que le chemin pour libxml est le même que le mien, à moins que les modifications ne se produisent avec la prochaine version. Vous pouvez le vérifier en exécutant la commande ci-dessous:

 brew info libxml2 

Ajoutez le gem "nokogiri", ">= 1.6.7.rc3" dans votre Gemfile

et puis courir

 bundle install 

Essayez de:

 apt-get install ruby-nokogiri bundle install 

La mise à jour des outils Xcode et de ligne de commande a corrigé toutes les erreurs pour moi. Après cela, j’ai pu installer Nokogiri avec nokogiri install gem et après que les gem installer des rails a bien fonctionné.

Les étapes suivantes ont fonctionné pour moi

 ruby -v ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] Run the following to install RVM and the latest stable version of Ruby: \curl -L https://get.rvm.io | bash -s stable --ruby Install the Ruby interpreter: rvm install 2.1.0 --autolibs=enable After that's finished installing, run: source /Users/{your_user_name}/.rvm/scripts/rvm Run: ruby -v ruby 2.1.0p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] ==> sudo gem install bundler Fetching: bundler-1.14.6.gem (100%) Successfully installed bundler-1.14.6 Parsing documentation for bundler-1.14.6 Installing ri documentation for bundler-1.14.6 Done installing documentation for bundler after 4 seconds 1 gem installed 

Merci d’avoir posté ceci! J’ai finalement réussi à exécuter nokogirl avec une bundle install pour mon application après avoir exécuté ce qui suit:

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