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

Posted

技术标签:

【中文标题】如何将我的所有 CPAN 模块更新到最新版本?【英文标题】:How do I update all my CPAN modules to their latest versions? 【发布时间】:2011-04-13 06:29:22 【问题描述】:

【问题讨论】:

【参考方案1】:

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

它们使用起来非常简单灵活,以至于我几乎不会再回到 CPAN shell。要一次性升级所有模块,命令是:

cpan-outdated -p | cpanm

我建议您像文档描述的那样安装cpanminus

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

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

cpanm App::cpanoutdated

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

您可以在此处的 Github 存储库中找到有关 cpanminuscpan-outdated 的更多信息:

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

【讨论】:

为什么在有内置解决方案的情况下使用这些额外的工具(见第二个答案)? “为什么要使用这些额外的工具”虽然它超出了 OP 问题的范围,但 cpanimus 确实解决了 CPAN 要求您按 Enter 和/或键入 [y]es 的问题。 Afaict 你不能可靠地 用 vanilla CPAN 抑制这种行为。一旦涉及任何类型的 cron 或 CI 服务器,和/或如果您希望能够开始升级并确信它不会在您外出喝咖啡时挂起(根据我的经验是香草CPAN通常是这种情况)另见此答案***.com/questions/898782/… [root@portal-test bugzilla-4.4.4]# cpan-outdated -p | cpanm 无法通过 /usr/bin/cpan-outdated 第 170 行的包“LWP::UserAgent”定位对象方法“new”。 那些都是旧的(perl 从 2006 年开始,LWP 从 2005 年开始)。理想情况下,您需要两者的更新版本。如果由于某种原因你不能这样做,那么我会逐个升级 LWP 版本,直到你得到 cpanm|cpan-outdated 工作。注意。重要 - 如果您使用的是 CentOS 安装的 Perl,那么请不要将 CPAN 或 CPANMINUS 与这些一起使用!切勿与 OS 软件包混用!!而是使用 Perlbrew 来酿造你自己的 perl(然后在其中使用 cpanminus 等)。 我喜欢这个解决方案,因为您可以轻松地先运行cpan-outdated -p,在实际运行升级之前先看看它会做什么。目前尚不清楚如何使用cpan upgrade进行试运行@【参考方案2】:

升级所有 Perl 包(CPAN 模块)的简单方法如下:

cpan upgrade /(.*)/

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

【讨论】:

好吧,这不像cpanminus那样,但至少你不需要下载任何东西来让它工作。 对于那些对此命令有问题的人;尝试通过cpan 运行cpan shell,然后在cpan shell 中运行upgrade /(.*)/【参考方案3】:

对于 Strawberry Perl,请尝试:

cpan -u

【讨论】:

也适用于常规 Perl。来自手册页:-u Upgrade all installed modules. Blindly doing this can really break things, so keep a backup. 选项cpan -u更新需要多长时间?【参考方案4】:

试试perl -MCPAN -e "upgrade /(.\*)/"。对我来说效果很好。

【讨论】:

【参考方案5】:

upgrade

顺便说一句,有一个help 命令。

【讨论】:

以上是关于如何将我的所有 CPAN 模块更新到最新版本?的主要内容,如果未能解决你的问题,请参考以下文章

将我的 Xcode 更新到最新版本会删除我之前安装的 SDK 吗?

如何使用 rvm 将我的 ruby​​ 1.9.2-p0 升级到最新的补丁级别?

如何将我的全局 vue-cli 安装升级到最新版本?

如何将 Gradle 依赖项更新到最新版本

将现有模块更新到 Odoo 12 中的最新版本

最新版本的 Xcode 安装时卡住了 (12.5)