web-dev-qa-db-fra.com

Erreur Nokogiri lors de l'exécution de l'installation du bundle

Essayer d'obtenir une application clonée Rails en cours d'exécution. Lors de l'exécution de bundle install J'obtiens cette erreur:

Using mini_portile (0.5.0)
Installing nokogiri (1.6.0)
Gem::InstallError: nokogiri requires Ruby version >= 1.9.2.
An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.

Mais c'est la sortie pour rbenv version:

› rbenv version
1.9.3-p429 (set by /Users/andrewguo/.rbenv/version)

Lors de l'exécution gem list Je reçois:

.
.
.
mini_portile (0.5.0)
minitest (2.5.1)
multi_json (1.7.7)
nokogiri (1.6.0)

Cela fait maintenant une heure que j'essaie de me creuser la tête en essayant de comprendre ce qui peut éventuellement être faux ... S'il vous plaît, aidez-moi!

Éditer:

Voici une sortie d'erreur plus détaillée:

An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.
Bundler::InstallError: An error occurred while installing nokogiri (1.6.0), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.0'` succeeds before bundling.
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:130:in `install_gem_from_spec'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:91:in `run'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:90:in `run'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/installer.rb:14:in `install'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/cli.rb:247:in `install'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `__send__'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/task.rb:27:in `run'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor.rb:344:in `dispatch'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/vendor/thor/base.rb:434:in `start'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/bin/bundle:20
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
/Library/Ruby/Gems/1.8/gems/bundler-1.3.5/bin/bundle:20
/usr/bin/bundle:19:in `load'
/usr/bin/bundle:19
20
wikichen

Il s'est avéré que j'utilisais le système par défaut Ruby (et que j'y installais donc toutes les gemmes dans /Library/Ruby/Gems) même si rbenv pointe vers Ruby-1.9.3, c'est pourquoi Nokogiri se plaignait.

Corrigé cela en ajoutant ceci à $ PATH, donc rbenv se charge avant le système Ruby:

export PATH="$HOME/.rbenv/bin:$PATH"

12
wikichen

J'utilise Mac OSX (El Capitan) et il semble être lié aux outils de développement Xcode. L'Iran xcode-select --install dans mon répertoire de travail, puis relancez bundle install commande et tout a bien fonctionné après cela ^^.

J'espère que cela pourrait aider quelqu'un.

27
Edouard

J'ai rencontré cette erreur et c'est ce qui a fonctionné pour moi:

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

Le problème était avec libxml:

libxml2 is missing.  Please locate mkmf.log to investigate how it is failing.
18
Phil

assurez-vous que vous disposez de la dernière version des outils de ligne de commande. si vous n'êtes pas sûr, lancez simplement xcode-select --install et cela fera apparaître une interface graphique de Nice pour vous guider à travers le processus d'installation. vous pouvez également consulter le Mac App Store pour voir si une mise à jour vous attend. la version actuelle est Command Line Developer Tool for OS X 10.10 pour que vous puissiez voir si Yosemite n'a pas de problème avec ça. après avoir obtenu la mise à jour, exécutez Sudo bundle install et vous pouvez avoir la dernière version de nokogiri. bonne chance.

11
Emmanuel

Essayez d'utiliser une ancienne version de nokogiri, cela a fonctionné pour moi

bijou 'nokogiri', '1.5.9'

5
Jesus Garcia

Ce qui suit a fonctionné pour moi:

gem install nokogiri -- --use-system-libraries
2
Aye Mon Chit

Si un autre googleur utilise linux (ubuntu), l'installation du paquet deb zlib1g-dev a aidé

2
Madis

Installez une version plus ancienne avec cette commande: gem install nokogiri -v 1.5.5

1
Esa Mäkinen

Vous avez juste besoin d'installer Homebrew dans votre macOS

Exécuter sur le terminal /usr/bin/Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

0
Bruno Ramos