Comment mettre à jour tous mes modules CPAN à leur dernière version ?
Pourquoi utiliser de tels outils supplémentaires alors qu'il existe une solution intégrée (voir la deuxième réponse) ?
Comment mettre à jour tous mes modules CPAN à leur dernière version ?
Une méthode alternative à l'utilisation de upgrade
à partir du shell CPAN par défaut est d'utiliser cpanminus
y cpan-outdated
.
Ils sont si faciles et agiles à utiliser que je ne reviens presque jamais au shell CPAN. Pour mettre à jour tous vos modules en une seule fois, la commande est la suivante :
cpan-outdated -p | cpanm
Je vous recommande d'installer cpanminus
comme le décrivent les docs :
curl -L https://cpanmin.us | perl - App::cpanminus
Et ensuite, installez cpan-outdated
ainsi que tous les autres modules CPAN utilisant cpanm
:
cpanm App::cpanoutdated
BTW : Si vous utilisez perlbrew
vous devrez alors répéter cette opération pour tous les Perl que vous avez installés sous ce système.
Vous pouvez en savoir plus sur cpanminus
y cpan-outdated
sur les dépôts Github ici :
Pourquoi utiliser de tels outils supplémentaires alors qu'il existe une solution intégrée (voir la deuxième réponse) ?
"Pourquoi utiliser de tels outils supplémentaires ? Bien que cela ne fasse pas partie de la question de l'OP, cpanimus résout le problème de CPAN qui vous demande d'appuyer sur Entrée et/ou de taper [y]es. En fait, vous ne pouvez pas de manière fiable supprimer ce comportement avec vanilla CPAN. Cela devient important dès qu'une sorte de cron ou de serveur CI est impliqué, et/ou si vous voulez être capable de démarrer une mise à jour avec la certitude qu'elle ne se bloquera pas pendant que vous allez chercher un café (ce qui, selon mon expérience, est souvent le cas avec vanilla CPAN) Voir aussi cette réponse stackoverflow.com/questions/898782/
[Root@portal-test bugzilla-4.4.4]# cpan-outdated -p | cpanm Can't locate object method "new" via le paquet "LWP::UserAgent" à /usr/bin/cpan-outdated ligne 170.
Ok, ce n'est pas aussi cool como cpanminus
mais au moins, vous n'avez pas besoin de télécharger quoi que ce soit pour que ça fonctionne.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.