Tous les quelques jours, cela se produit lorsque vous effectuez diverses opérations dans Ruby CLI (notamment à l'aide de l' knife
utilitaire de Chef) sous OS X (impossible de répliquer dans d'autres environnements: Linux, FreeBSD, etc.):
Ignoring bcrypt-3.1.7 because its extensions are not built. Try: gem pristine bcrypt-3.1.7
Ignoring bigdecimal-1.2.5 because its extensions are not built. Try: gem pristine bigdecimal-1.2.5
Ignoring ffi-yajl-1.1.0 because its extensions are not built. Try: gem pristine ffi-yajl-1.1.0
Ignoring gem-wrappers-1.2.5 because its extensions are not built. Try: gem pristine gem-wrappers-1.2.5
Ignoring gem-wrappers-1.2.4 because its extensions are not built. Try: gem pristine gem-wrappers-1.2.4
Ignoring pg-0.17.1 because its extensions are not built. Try: gem pristine pg-0.17.1
Ignoring psych-2.0.6 because its extensions are not built. Try: gem pristine psych-2.0.6
Ignoring sqlite3-1.3.9 because its extensions are not built. Try: gem pristine sqlite3-1.3.9
Et bien que ce soit une solution simple, cela continue. Est-ce que quelqu'un à déjà rencontré cela avant?
$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-darwin11.2.0]
bundle install
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory
, ces problèmes ont commencé par eux-mêmes, je n'utilise même pas le rubis pour autant que je sache. Mais je reçois des erreurs à propos d'extensions non construitesclocale-0.0.3
chaque fois que je démarre un nouveau shellDans mon cas, je commence à voir ces erreurs après l'installation
rvm
Je résous ce problème avec:
gem pristine --all
la source
Ce problème se produit si une gemme a été compilée avec une bibliothèque différente de celle en cours d'exécution. Par exemple, si on utilise un ruby situé dans son répertoire personnel avec chruby et installe des gemmes sur ~ / .gem / ruby, mais exécute un script qui appelle / usr / bin / ruby, qui réutilise les gemmes qui y sont installées. Dans ce cas,
gem pristine --all
cela n’aidera pas, car les gemmes ne peuvent être liées qu’à une version de rubis.la source
vendor/bundle
, supprimez-les simplementrm -rf vendor/bundle
et réinstallez-lesbundle install
.gem pristine --all
jusqu'à ce que mon visage soit bleu et maintenant je sais pourquoi cela n'a pas fonctionné ...J'ai corrigé cela par:
https://github.com/rvm/rvm/issues/3348
la source
Cela a fonctionné pour moi sur MacOs Sierra:
J'avais déjà installé l'intégralité du xcode avant d'exécuter les commandes ci-dessus, mais je devais le faire quand même, peut-être parce que le premier script met à jour certaines bibliothèques / dépendances internes.
la source
Assurez-vous que vous utilisez "gem pristine --all" pour la bonne version de ruby. Si vous appelez / usr / bin / ruby ... utilisez "/ usr / bin / gem pristine --all". Ce n'est pas évident si vous utilisez rvm et que vous avez 10 versions de ruby installées.
Cela a résolu mon problème pendant un jour et puis il est revenu.
Ce qui semble être une solution plus permanente est de faire "rvm reset" pour que le ruby par défaut soit la version OSX installée / usr / bin / ruby et / usr / bin / gem. Si je veux utiliser une version plus récente de ruby pour un projet, j'utilise .ruby-version et .ruby-gemset dans le répertoire racine du projet afin de définir explicitement la version de ruby que je souhaite utiliser. Pas idéal ... mais cela devrait faire disparaître cette erreur.
la source
Dans mon cas:
rvm get stable
sudo gem pristine --all
la source
Je suis très nouveau dans le domaine des rails, donc ce conseil pourrait être complètement erroné, mais comme aucune autre solution ne fonctionnait pour moi, je pensais partager le mien.
Mic92 et Gerry m'ont mis sur la bonne voie: j'utilisais
rails s
ce qui peut causer des erreurs car il utilise une version de rails pouvant être une version différente de celle du projet.J'ai essayé de me connecter avec
bin/rails server
, j'ai eu une erreur différente (gemmes manquantes) alors j'ai courubundle install
À ce stade, j'ai une troisième erreur ("version de bibliothèque incompatible"), qui a
spring stop
guéri.Puis j'ai couru à
rails generate controller
nouveau, le printemps a repris et tout a fonctionné (j'ai un peu pleuré).la source