Les cosses de cacao doivent être complètement réinstallées
Question
L'arrière-plan
Je suis un peu nouveau sur Unix et viens d'un environnement .NET mais j'en sais maintenant assez pour me causer des ennuis.
J'ai un code existant avec lequel je travaille et qui utilise Cocoapods, j'ai donc essayé d'installer Cocoapods.
Au départ, lorsque je l'ai installé, il n'a pas été indiqué qu'il nécessitait une version plus récente de Ruby.Pour installer Ruby, j'ai utilisé un programme d'installation appelé rvm.Avec quelques efforts, j'ai installé RVM et obtenu Ruby version 2.1.0.
Quand je vais dans le répertoire où se trouve l'application et que je tape pod install
il répond avec pod: command not found
.L’hypothèse est qu’il doit y avoir un problème avec l’installation des cabosses de cacao.Si j'essaie une commande pour installer ou désinstaller Cocoapods
gem install cocoapods or gem uninstall cocoa pods
il renvoie la même réponse qui est :
/Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:59:in `gem': uninitialized constant Gem::LOADED_SPECS_MUTEX (NameError)
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:46:in `require'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems.rb:601:in `load_yaml'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:328:in `load_file'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/config_file.rb:197:in `initialize'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `new'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:74:in `do_configuration'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:39:in `run'
from /Users/aliabidhusain/.rvm/rubies/ruby-2.1.2/bin/gem:21:in `<main>'
Je pense que les tentatives infructueuses d’installation de cabosses de cacao ont peut-être corrompu quelque chose, ou mis quelque chose au mauvais endroit.Je souhaite désinstaller complètement les cocoapods et le réinstaller, mais l'installation et la désinstallation ne font rien.
MISE À JOUR: En utilisant gem list --local | grep cocoa pods
juste pour voir quelle version de CocoaPods j'ai installée me donne exactement le même résultat.
La question:
Quelqu'un connaît-il un moyen de résoudre ce problème ou d'extraire et de reconstruire complètement les CocoaPods ?
La solution
gem env
vous indiquera le chemin d'installation de vos gemmes.
D'après l'erreur que vous avez eue la première fois que vous avez installé la gemme, il pourrait s'agir d'une erreur PATH.Peut-être que votre dossier gems n'est pas correctement défini dans le PATH et que le shell ne trouve pas les Cocoapods.
Essayez d'imprimer votre PATH avec echo $PATH
et voyez si le - RÉPERTOIRE EXÉCUTABLE :depuis gem env
y a-t-il.
Essayez aussi gem pristine --all
Si cela ne fonctionne pas, essayez de passer à Ruby 2.1.2 et de réinstaller les cocoapods.
Autres conseils
J'ai été brillamment aidé par @Pedros (la réponse actuellement acceptée), mais comme il y avait tellement de commentaires, j'ai décidé de nettoyer la réponse qui fonctionnait pour moi.Je garderai sa réponse acceptée car il m'a vraiment énormément aidé sur ce point.Si cela vous est utile et que vous choisissez de voter positivement, veuillez également voter positivement pour la réponse acceptée, car elle dérive presque entièrement de sa réponse.
Voici ce que j'ai découvert :Dans mon cas, RVM n'était pas installé correctement et RubyGems n'était donc pas installé correctement.Cela a à son tour empêché l'installation correcte des CocoaPods.
Pour désinstaller et supprimer complètement RVM : essayer sudo rvm implode
ou tu peux faire sudo rm -rf ~/.rvm
J'ai fait quelques vérifications pour voir si j'avais les bonnes versions.Je publierai ce qu'ils devraient être maintenant, mais cela peut être différent à mesure que les versions sont mises à jour.
ruby --version
devrait être 2.1.2
which ruby
devrait être le rubis RVM.(Pour voir s'il n'y a pas de conflit avec le rubis d'OSX)
gem --version
devrait être 2.2.2
Réinstallez RVM en procédant comme suit : \curl -sSL https://get.rvm.io | bash -s stable --ruby
Réinstallez CocoaPods comme ceci : gem install cocoapods
J'espère que cela évitera à quelqu'un des heures de développement et une perte de cheveux :)