Je travaille sur une application Rails qui permet de joindre des images à chaque compte utilisateur. J'utilise les services Web Paperclip et Amazon:
gem 'Paperclip'
gem 'aws-sdk'
Lorsque je lance l’installation en bundle, je reçois le message suivant:
extconf a échoué, code de sortie 1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling.
Quand j'essaye de lancer 'gem install nokogiri', je reçois le message suivant:
extconf a échoué, code de sortie 1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
Mon système d'exploitation est Mac OS X 10.9.4 Mavericks. Que se passe t-il ici? Comment puis-je obtenir que nokogiri soit installé et se comporte correctement?
Trace complète de la pile :
Building native extensions with: '--use-system-libraries'
This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/local/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... yes
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=/usr/local/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 /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
Ça fonctionne super bien!
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
Avez-vous essayé gem install nokogiri -v 1.6.5 -- --use-system-libraries
? La plupart des erreurs nokogiri concernent libxml2, libxslt ou libiconv config.
Nokogiri docs devrait vous donner plus d’instructions. Si la solution ne fonctionne pas, vous pouvez publier une trace de pile complète afin que les autres utilisateurs puissent en faire davantage.
après la mise à niveau vers Rails 4.2.4 (qui inclut Nokogiri 1.6.6.2
) sur Ubuntu 14.04 (j'utilise RVM), je devais le faire:
Sudo apt-get install libgmp-dev
ou
Sudo apt-get install libgmp3-dev
Sous Ubuntu, essayez d’installer les dépendances suivantes:
Sudo apt-get install gcc Ruby-dev libxslt-dev libxml2-dev zlib1g-dev
J'ai résolu ce problème en installant les dépendances xcode que Nokogiri doit installer:
xcode-select --install
Après cela, exécutez à nouveau l’installation du bundle et cela devrait fonctionner.
Selon les instructions d’installation de nokogiri,
Sudo apt-get install zlib1g-dev
résolu le problème pour moi.
Depuis que l’opérateur faisait référence à bundle install
que j’ai eu l’occasion d’utiliser, je pense qu’il est utile de rappeler la page Installation de Nokogiri qui a finalement révélé la solution la plus élégante (qui a également fonctionné pour moi sous Mac OS X 10.8.5):
bundle config build.nokogiri --use-system-libraries
bundle install
Ceci indique à l’indicateur d’installer nokogiri comme indiqué dans les réponses de @kasperite
Paquet qui l'a fait:
apt-get install libghc-zlib-dev
Autre candidat possible:
zlib1g-dev
sur 12.04
je l'ai trouvé ici
Je n'ai pas reçu le même message d'erreur que vous, mais je voulais noter ce que j'ai finalement trouvé comme solution extraordinairement simple pour l'installation de nokogiri sur Ubuntu:
Le processus de construction de nokogiri dépend de patch
.
Run: Sudo apt-get install patch
Je travaillais sur un VM (une boîte vagabonde, en fait), c'est pourquoi je n'avais pas déjà installé patch
.
L'erreur que j'ai eu (après beaucoup d'autres choses qui ressemblaient à une erreur mais était en fait juste un avertissement) était:
Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2... OK
Running patch with /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization-for-the-catalog-module.patch...
Running 'patch' for libxml2 2.9.2... ERROR, review '/var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2/patch.log' to see what happened.
J'ai déjà supprimé le journal (la procédure ci-dessus était dans ma session de terminal), mais le fichier patch.log
référencé ci-dessus était absurdement simple; il vient de dire quelque chose comme patch not found
.
Garçon, je me suis senti stupide pour tous les travaux, j'ai installé des bibliothèques pour essayer de le réparer! :)
Pour prendre la réponse géniale de dylanjhunt sur Github , juste au cas où quelqu'un ne l'aurait pas essayée,
Pour ajouter à cela, j’avais un problème très similaire qui était résolu en mettant à jour les outils de développement.
xcode-select --install
En espérant que quelqu'un voit cela qui ne l'ait pas encore essayé et le aide.
installez d'abord gcc
dans * buntu: apt-get install gcc
après cela, U peut requerer la plupart des bibliothèques de développement, telles que libxml2/zlib/etc . voir le journal de construction (chemin dans mon cas): /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8.1/mkmf.logfor chaîne comme - erreur fatale: zlib.h: aucun fichier ou répertoire de ce type
J'ai eu le même problème plus tôt aujourd'hui. J'avais mis à jour mon xcode et je n'avais pas accepté les termes pour le moment. Lancer Sudo
xcodebuild -license
et accepter mon paquet a de nouveau fonctionné.