40 votes

Ruby sur OS X 10.9 Ignorant les gems car les extensions ne sont pas construites

Tous les quelques jours, cela se produira lors de diverses opérations en Ruby CLI (notamment lors de l'utilisation de l'utilitaire knife pour Chef) sur OS X (impossible de reproduire dans d'autres environnements ; Linux, FreeBSD, etc.) :

Ignoring bcrypt-3.1.7 parce que ses extensions ne sont pas construites.  Essayez : gem pristine bcrypt-3.1.7
Ignoring bigdecimal-1.2.5 parce que ses extensions ne sont pas construites.  Essayez : gem pristine bigdecimal-1.2.5
Ignoring ffi-yajl-1.1.0 parce que ses extensions ne sont pas construites.  Essayez : gem pristine ffi-yajl-1.1.0
Ignoring gem-wrappers-1.2.5 parce que ses extensions ne sont pas construites.  Essayez : gem pristine gem-wrappers-1.2.5
Ignoring gem-wrappers-1.2.4 parce que ses extensions ne sont pas construites.  Essayez : gem pristine gem-wrappers-1.2.4
Ignoring pg-0.17.1 parce que ses extensions ne sont pas construites.  Essayez : gem pristine pg-0.17.1
Ignoring psych-2.0.6 parce que ses extensions ne sont pas construites.  Essayez : gem pristine psych-2.0.6
Ignoring sqlite3-1.3.9 parce que ses extensions ne sont pas construites.  Essayez : gem pristine sqlite3-1.3.9

Et bien que ce soit une correction simple, cela continue de se produire. Est-ce que quelqu'un a déjà rencontré cela auparavant ?

$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin11.2.0]

63voto

skywinder Points 1471

Dans mon cas, j'ai commencé à voir ces erreurs après avoir installé rvm

J'ai résolu ce problème avec : gem pristine --all

20voto

Mic92 Points 311

Ce problème se produit si une gemme a été compilée contre une libruby différente de celle actuellement en cours d'exécution. Par exemple, si l'on utilise un ruby situé dans son répertoire personnel avec chruby et installe des gemmes dans ~/.gem/ruby, mais exécute un script qui appelle /usr/bin/ruby, qui réutilise les gemmes installées là-bas. Dans ce cas, gem pristine --all ne servira à rien, car les gemmes ne peuvent être liées qu'à une seule version de ruby.

5voto

Shanks Points 143

J'ai corrigé cela en :

rvm get stable

https://github.com/rvm/rvm/issues/3348

4voto

Zifre Points 14109

J'ai récemment basculé de rvm à chruby et j'ai exécuté gem update --system, c'est à ce moment-là que le problème a commencé pour moi. Après cela, chaque fois que j'exécutais bundle, j'étais bombardé des mêmes avertissements. Je ne suis toujours pas sûr de ce qui a causé le problème.

Ignoring curb-0.8.6 car ses extensions ne sont pas construites. Essayez : gem pristine curb-0.8.6

Je ne suis pas sûr de ce qui l'a réparé, mais j'ai fait 2 choses et l'avertissement a disparu :

gem uninstall bundler
gem install bundler

gem install curb

2voto

Javad Points 521

Cela a fonctionné pour moi sur MacOs Sierra :

xcode-select --install
gem install nokogiri

J'avais déjà installé l'intégralité de xcode avant d'exécuter les commandes ci-dessus, mais j'ai dû le faire quand même, peut-être parce que le premier script met à jour certaines bibliothèques/dépendances internes.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X