当前位置:  开发笔记 > 编程语言 > 正文

如何将所有CPAN模块更新到最新版本?

如何解决《如何将所有CPAN模块更新到最新版本?》经验,为你挑选了5个好方法。

如何将所有CPAN模块更新到最新版本?



1> draegtun..:

upgrade从默认CPAN shell 使用的另一种方法是使用cpanminuscpan-outdated.

这些非常简单易用,我几乎不会回到CPAN shell.要一次性升级所有模块,命令为:

cpan-outdated -p | cpanm

我建议您cpanminus按照文档描述安装:

curl -L https://cpanmin.us | perl - App::cpanminus

然后使用以下命令安装cpan-outdated所有其他CPAN模块cpanm:

cpanm App::cpanoutdated

顺便说一句:如果您正在使用,perlbrew那么您需要为其下安装的每个Perl重复此操作.

你可以找到更多关于cpanminuscpan-outdated在这里的Github上回购:

https://github.com/miyagawa/cpanminus

https://github.com/tokuhirom/cpan-outdated


为什么在有内置解决方案时使用这些额外工具(参见第二个答案)?
"为什么使用这些额外的工具"虽然它超出了OP问题的范围,但是cpanimus解决了CPAN要求你按Enter和/或输入[y] es的问题.虽然你不能_reliable_用香草CPAN抑制这种行为.一旦涉及到任何类型的cron或CI服务器,这一点就变得很重要,并且/或者如果您希望能够自信地开始升级,那么当您外出喝咖啡时它不会挂起(根据我的经验,这是经常与香草CPAN的情况)参见这个答案http://stackoverflow.com/questions/898782/how-do-i-tell-cpan-to-install-all-dependencies
这些都是旧的(perl的日期是2006年,LWP是2005年).理想情况下,您需要更新版本的两者.如果由于某种原因你不能这样做,那么我会按版本升级LWP版本,直到你有cpanm | cpan-outdated工作.NB.重要信息 - 如果您使用的是CentOS安装的Perl,请不要使用CPAN或CPANMINUS!永远不要与OS包混用!而是使用Perlbrew来酿造你自己的perl(然后在其中使用cpanminus等).

2> 小智..:

升级所有Perl软件包(CPAN模块)的简便方法有以下几种:

cpan upgrade /(.*)/

cpan将识别这样的正则表达式,并将更新/升级所有已安装的软件包.


对于那些遇到此命令问题的人; 尝试通过`cpan`运行cpan shell,然后在cpan shell中运行`upgrade /(.*)/`.
好吧,这不像`cpanminus`那样_cool_,但至少你不需要下载任何东西来让它工作.

3> Denis Howe..:

对于Strawberry Perl,请尝试:

cpan -u


对于普通的Perl也是如此.从手册页:`-u升级所有已安装的模块.盲目地这样做可以真正打破事情,所以保持备份

4> musiKk..:

upgrade

BTW有一个help命令.



5> Matthias Mun..:

试试perl -MCPAN -e "upgrade /(.\*)/".这对我来说可以.

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有