Désinstaller tous les modules perl installés par cpan
Hier, j'ai voulu tester certains logiciels et de la documentation qu'elle a dit, pour l'installer j'ai juste besoin de taper
cpan -i Software
Je n'ai jamais utilisé le cpan, je sais juste que c'est le perl package manager. (Est-il..?) Cependant, il s'est avéré que j'avais besoin des charges de dépendances, et stupide comme je suis, je viens d'installer tous les d'entre eux. (D'abord, j'ai dû mettre en place cpan qui m'a demandé beaucoup de questions) Longue histoire courte, je veux juste supprimer tous les de nouveau. J'ai googlé un peu, et il semble que cpan ne dispose pas d'une routine de désinstallation, en particulier pour tous les paquets à la fois.
Puis-je supprimer un répertoire ou je vais avoir des problèmes?
Vous devez vous connecter pour publier un commentaire.
la
cpan
de commande n'est pas vraiment un gestionnaire de paquets commeapt-get
est. C'est plus un outil qui télécharge et installe sur le CPAN (le site, ou de l'un de ses miroirs). Après la fin de cette tâche, elle ne veut pas se souvenir de ce qui a été fait avant, du moins pas assez pour retirer auparavant, modules installés, au moins pas de façon fiable, proprement, ou de dépendance, en toute sécurité. (Mise à jour: Après avoir regardéApp::pmuninstall
, il peut être utilisé pour gérer les dépendances, mais il le fait en se connectant à l'extérieur (lire: web) sources, qui calculent séparément, ce qui est bien, mais je m'en tiens à la déclaration précédente, que le CPAN.h ne fait pas cela.)J'ai utilisé à s'inquiéter à propos de la suppression de modules, mais maintenant je me rends compte que la plupart des modules Perl prennent si peu de place que je viens de ne pas s'inquiéter d'avoir un peu plus de l'installation de modules que vous n'utilisez jamais. Donc, sauf si vous êtes sur un ordinateur avec un petit disque, je voudrais juste le laisser être.
Sur Windows ou si vous utilisez un non-système de Perl sous Linux/Mac, vous pouvez simplement supprimer le Perl et le réinstaller. Je ne recommanderais pas ceci si vous utilisez le système d'installation de Perl sous Linux/Mac cependant, comme vous avez pu le briser vos OS ce faire (vous pourriez être ok si vous avez été prudent, mais pas la peine de sauver quelques Mo!).
Dans l'avenir, vous pouvez facilement installer une version locale de Perl à l'aide de perlbrew, il y a des tutoriels sur le web, si les docs ne sont pas suffisantes (qu'ils devraient être). Cela a aussi le bonus de vous laisser jouer avec le plus récent et le plus grand Perl versions de votre système ne vient pas encore. Alors si vous installez une montagne de courrier indésirable, ou même de casser il faire quelque chose de fou, de supprimer cette version et réinstaller/installer une version différente.
Un autre bon outil est cpanminus (ou cpanm pour faire court) qui est plus récent, plus convivial cpan outil. Tous les cool kids sont à l'utiliser.
pm-uninstall
pouvez supprimer des modules.cpanm
autant que je sache, ne pas faire quelque chose d'aussi loin que l'écriture de trucs quecpan
etcpanp
faire.Vous pouvez désinstaller les modules individuels avec cpanplus (livré avec Perl) comme ceci:
Vous pouvez consulter tous les modules installés avec le cpan script comme ceci:
Mettre les deux ensemble:
cpanm --uninstall "$module"
Je ne suis pas sûr de vouloir supprimer "tout ça". Mais pour supprimer un seul module, vous pouvez utiliser
App::pmuninstall
avec son seul scriptpm-désinstaller
pour désinstaller des modules. Vous pourriez alors être capable d'écrire une sorte de script pour supprimer récursivement le deps.Si vous ne pouvez pas utiliser cpan plus, parce que là sont incompatibles modules dans le chemin vous, vous pouvez supprimer tous les modules installés par la main. Par exemple, j'ai mis à jour de Fedora 22 Fedora 23 et le Perl version a changé. Tous les modules déjà installés via cpanm en
/usr/local/lib64/perl5
ne fonctionnent plus du tout et m'a empêché de l'aide cpanm.Je pourrais résoudre ce problème en déplaçant le répertoire:
Le nom de ce répertoire peut varier sur votre système.
Attention: Si un module installé des fichiers en dehors du répertoire, par exemple le système de fichiers de la bibliothèque, ces fichiers restent là.
Je pense que la meilleure option est de désinstaller Perl et l'installer à nouveau.
Je vais changer Flimm, en réponse à l'utilisation cpanm et de désinstaller cpanm lui-même à la fin du script: