web-dev-qa-db-fra.com

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 l'extraction du fichier Gemfile mis à jour, 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 erubis 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 compiler accepts ... yes
checking if the C compiler 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 " Échec de l’installation de Nokogiri gem ", j’ai tenté en vain d’exécuter:

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

Comme suggéré dans " Ne pas installer Nokogiri gem ", j'ai aussi essayé:

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

et:

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

La version de mon système d'exploitation est El Capitan 10.11.2 et j'ai vérifié que le contrat de licence Xcode avait été accepté.

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

47

Vous devez d'abord installer les packages xcode-select, puis essayez à nouveau d'installer nokogiri. Essayez ces commandes,

xcode-select --install

alors essaye

gem install nokogiri

avec la version de Nokogiri de votre choix.

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

La solution actuelle est dans les commentaires ci-dessous.

131
Prasanna Sundar

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 :)

31
NajlaBioinfo

Si vous utilisez homebrew pour gérer des bibliothèques telles que libml sur votre mac, la commande suivante sur votre mac peut 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 d'accès pour libxml est le même que le mien, à moins que Brew ne change avec la version suivante. Vous pouvez le vérifier en exécutant la commande ci-dessous:


brew info libxml2
7
karthiks

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

puis courir

bundle install
3
VKatz

essayez de:

apt-get install Ruby-nokogiri
bundle install
1
Diego Medeiros

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
0
Code SDK

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

bundle config build.nokogiri --use-system-libraries
0
Melanie Cooper

La mise à jour des outils Xcode et de ligne de commande a corrigé toutes les erreurs pour moi. Après cela, je pouvais installer Nokogiri avec gem, installer nokogiri et après cela, installer Rails a bien fonctionné.

0
Reinier