Supprimer toutes les gemmes installées et recommencer

92

J'ai récemment commencé à apprendre Ruby et Ruby on Rails et j'ai regardé une pléthore de matériaux de démarrage. J'ai découvert ces derniers temps que je continuais à recevoir des erreurs où les gemmes ne s'installeraient pas ou seront installées mais elles ne peuvent pas être utilisées pour une raison quelconque, et j'ai décidé que je voulais tout supprimer jusqu'à ce que Ruby soit installé et recommencez l'installation. Une vidéo de formation m'a fait installer la plupart de mes gemmes avec RVM, donc je ne sais pas si cela change quoi que ce soit.

Donc, en bref, ma question est "Comment puis-je me débarrasser de RVM, de Rubygems et de toutes les gemmes installées pour que je puisse recommencer avec juste Ruby?"

Edit: je suis sous Mac OS 10.6

Dave Long
la source
1
Avez-vous installé dans / opt / ruby? C'est ce que je fais pour que je puisse enlever le rubis rapidement.
alternatif le
Voir stackoverflow.com/questions/15100496/ ... Cela devrait également fonctionner pour la version 1.9.3 :)
Nathan Lilienthal
Le titre de votre question et le résumé de la "question courte" à la fin sont deux choses différentes ...
mpowered

Réponses:

118

Depuis le site d'assistance RVM :

RVM installe tout dans ~ / .rvm. Pour supprimer RVM de votre système, exécutez «rm -rf ~ / .rvm». Vous pouvez avoir un fichier de configuration supplémentaire dans ~ / .rvmrc et bien sûr le hook RVM dans vos fichiers de démarrage bash / zsh.

Alors, allez simplement sur la ligne de commande et tapez rm -rf ~/.rvm

Toutes les gemmes installées sont dans les dossiers ~ / .rvm, donc faire ce qui précède supprimera les gemmes et les rubis installés en une seule fois.

Les gemmes que vous avez ajoutées avant RVM avec l'installation par défaut de ruby ​​peuvent être supprimées en tapant ceci à l'invite de commande:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done
Michaelmichael
la source
1
Je viens de lancer ça, mais gems est toujours installé. On dirait cependant qu'il l'a rechargé. Je ne sais pas s'il a rechargé avec les valeurs par défaut de Mac XCode ou quoi ...
Dave Long
a ajouté une autre ligne pour se débarrasser des gemmes que vous avez ajoutées avant RVM
michaelmichael
1
J'ajouterais les options '-all -x -I' à la désinstallation de gemme pour l'empêcher de vous demander (pour les binaires, les versions ou les dépendances) lors de la désinstallation.
timmfin
4
Pour référence, la commande complète est: for x in `gem list --no-versions`; désinstaller gem $ x -a -x -I; done
Daniel Rehner
7
Pour plus de référence, une autre option:gem list --no-versions | xargs gem uninstall -aIx
trisweb
68
gem uninstall -aIx

Désinstalle toutes les gemmes sans invite.

Options

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation
Un pantalon
la source
Cela me donne:ERROR: While executing gem ... (Gem::InstallError) gist is not installed in GEM_HOME, try: gem uninstall -i /usr/share/rubygems-integration/all gist
user2023370
34

Pour Windows et Unix, copier / coller dans l'invite de commande ( Ruby 1.9.x ).

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"
Haris Krajina
la source
2
ERROR: While executing gem ... (Gem::CommandLineError) Please specify at least one gem name (e.g. gem build GEMNAME) -e:1: no .<digit> floating literal anymore; put 0 before dot bundle (0.0.1) ^ -e:1: syntax error, unexpected tINTEGER bundle (0.0.1) ^
isomorphismes
@isomorphismes ne sait pas si je l'ai corrigé, mais vous pouvez essayer la commande maintenant.
Haris Krajina
22

en utilisant RVM, vous pouvez simplement taper ...

rvm gemset empty GEMSET

où GEMSET est l'ensemble de gemmes que vous souhaitez vider. puis...

installer le bundle

yum install bundler et enfin

bundle install
mfittko
la source
14

rvm implode(voir cli docs ) semble fonctionner - et il vous indique même où chercher les restes

Chesterbr
la source
2
C'est techniquement la réponse la plus correcte et exactement ce pour quoi elle a été conçue.
mpowered
"implode - supprime toutes les installations ruby ​​qu'il gère, tout dans ~ / .rvm"
Nein
5
  1. Cela fonctionne pour moi sur Ubuntu 16.04. Pour moi, lorsque j'exécutais des rails de commande -v, cela renvoyait des erreurs à cause de NameError. J'ai installé 3 versions de rails (4.2.0, 4.2.6, 5.0.0.1). J'essayais de désinstaller un bijou inutile à l'aide de la commande gem uninstall rails -v numéro de version, mais je ne pourrai pas, mais je trouve un moyen de résoudre ce problème. Pour désinstaller toutes les gemmes, vous devez parcourir toutes les entrées de la liste des gemmes avec des scripts bash. Cette méthode est très peu pratique. Grâce à Rubygems 2.1.0, vous pouvez désormais le faire avec une seule commande.

    ÉTAPE 1

    Tout d'abord, assurez-vous de mettre à jour vos Rubygems vers la version 2.1.0 ou plus récente. Pour cela, exécutez cette commande (dans le cas où vous travaillez sur une version plus ancienne. Vous pouvez vérifier votre version de gem en utilisant cette commande n'importe laquelle d'entre elles gem -v ou gem --version )

    mise à jour des gemmes - système

    gem --version

    ÉTAPE 2

    Exécutez cette commande dans votre terminal

    désinstaller gem --all

    Étape 3

    Installez des bundles de gemmes (ce n'est pas nécessaire je pense juste pour des précautions) gem install bundle

    Étape - 4
    Installez les rails sur votre système en utilisant cette commande gem install rails -vspecific version you want to install vous pouvez vérifier la version des rails sur le site officiel rails toutes les versions exemple: - J'ai installé la version des rails 4.2.6, vous installez selon les besoins. gem installer les rails -v 4.2.6

    Étape - 5

    Enfin, vérifiez la version de l'application de cadre de rails installée à l'aide de la commande de base rails -v . Il fera écho à la version actuelle des cadres de rails. Prendre plaisir :)

    Références

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html

Mukesh Kumar Gupta
la source
2

Étape 1:

J'ai d'abord continué à rencontrer une erreur qui disait:

Vous ne disposez pas des autorisations d'écriture pour le répertoire / usr / bin

Pour obtenir l'autorisation, je suis devenu un utilisateur root avec (ceci est potentiellement dangereux pour des raisons qui dépassent ma compréhension actuelle) :

sudo -s

Crédit

Étape 2:

Ensuite, j'ai continué à rencontrer une erreur qui disait:

[gem] ne peut pas être désinstallé car il s'agit d'un gem par défaut

Cela m'a permis de tout désinstaller:

for i in `gem list --no-versions`; do gem uninstall -aIx $i; done

Crédit

John R Perry
la source