Désinstallation rails et des pierres précieuses, obtenir l'erreur « ne peut pas désinstaller, cochez la case « liste bijou -d ... »
-
25-09-2019 - |
Question
Je vais commencer par la ligne habituelle de noob, « Je suis nouveau sur les rails ». Oh, et je suis sous Mac OS X 10.6.4
J'ai suivi un groupe de guides pour se mettre en place, en particulier ces deux ici et ici . Les guides sont grandes, la raison pour laquelle j'utilise le second est à cause de RVM et la raison pour laquelle j'utilise la première est pour MYSQL.
Quoi qu'il en soit, quand j'ai commencé, je ne suivais pas les directions complètement et donc après avoir installé RVM, pour une raison que j'ai installé des rails avec sudo gem install rails -v 2.3.8
parce que c'est la version que j'ai besoin. Alors ... je me suis aperçu que j'utilisais le rubis du système, et ne profitait pas de RVM. Ce que je faisais était maintenant installer Ruby 1.9.2 donc je peux installer des rails 3 et le tester, et j'ai aussi installé 1.8.7 et 2.3.8 rails donc je peux l'utiliser pour ce que je besoin.
Maintenant, je suis en train de désinstaller les pierres précieuses du système Ruby, mais chaque fois que j'essaie de je reçois cette erreur:
ERREUR: Pendant l'exécution gem ... (Gem :: InstallError)
ne peut pas désinstaller, consultez « liste des pierres précieuses -d quel que soit petit bijou que j'essaie de désinstaller
Toutes les idées sur la façon de retirer les rails et toutes ces pierres précieuses? Je veux juste commencer à partir de zéro avec RVM.
Mise à jour:
En exécutant la commande gem list -d rails
j'ai localisé les pierres précieuses dans /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/18. Dois-je les supprimer manuellement?
La solution
SOLUTION !! Je ne comprends toujours pas pourquoi cela est arrivé, j'aimerais si quelqu'un pourrait expliquer. Pourquoi le chemin non existant? Ce qui a causé cette erreur?
, je veux aussi mentionner que la solution que je lié à a un commentaire disant que la question est un doublon. Cependant, l'original a une autre solution et ne m'a pas aidé (même si sa base pour trouver cette réponse). La simple suppression des gemmes manuellement dans le Finder ne les retirer de la liste des pierres précieuses.
Sans plus tarder - il se trouve que lorsque vous essayez de désinstaller la pierre précieuse, il ne peut pas trouver son chemin (je pense que le problème est dû à l'installation avec sudo, mais je peux me tromper) . Ce que vous devez faire est de (vous devez faire un par un pour chaque bijou, ou tout au moins je devais):
-
gem list -d 'name of gem'
et notez le "Installé à:" emplacement (dans mon cas, /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8) -
sudo gem uninstall 'name of gem' -i 'the path noted above'
(ex. Dans mon cas,sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
- Certaines pierres peuvent toujours pas désinstaller une erreur de retour d'autorisations. Si tel est le cas, ce que vous devez faire est de créer un dossier / bin, dans le chemin ci-dessus. (Dans mon cas,
mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
- poursuivre la désinstallation comme dans l'étape 2, en utilisant toujours le chemin d'origine (/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8).
Maintenant, tous les désinstallations doivent travailler!
Autres conseils
Deux choses que vous devez noter lors de l'utilisation RVM:
-
Vous devez JAMAIS utiliser
sudo
installer des pierres précieuses, faites juste ungem install xxx
-
Vous ne pouvez pas désinstaller des pierres précieuses installées dans le global gemset à partir d'un autre gemset. Vous devez passer à l'gemset global et désinstaller à partir de là:
rvm gemset use global
gem uninstall xxx
exécuter ce soit dans irb ou dans un bon script:
`gem list --no-versions`.split("\n").each do |gem|
`gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
system "gem uninstall #{gem} -aIx -i #{dir}"
end
end
essayez de cette façon:
sudo apt purge rails
ok je vois ....
à ce stade, si vous êtes dans le terminal, il ne devrait pas prendre, mais quelques minutes pour réinstaller tout le tralala
Je suppose que vous pourriez ne pas être au nom de RVM correct qui a les pierres précieuses que vous essayez d'installer donc ce pourquoi je vous suggère de réinstaller rubygems et la construction que vous êtes des pierres précieuses de base depuis le début de votre nom de Global
rvm gemset.
Une réponse plus générique pour supprimer toutes les pierres précieuses pour les anciennes versions de gemme 1.8.
Liste des pierres précieuses versions --no-| xargs désinstaller sudo gem -Aix
J'utilisais RVM pour gérer mes gemsets et n'avaient pas choisi le gemset. Je n'étais pas que j'avais choisi le mauvais gemset, il était que je ne l'avais pas choisi le gemset du tout. Une belle façon de passer la majeure partie d'une heure de mon premier matin de retour après mes vacances d'été!