如何在使用 perlbrew 时安装 CPAN 模块?

Posted

技术标签:

【中文标题】如何在使用 perlbrew 时安装 CPAN 模块?【英文标题】:How do I install CPAN modules while using perlbrew? 【发布时间】:2011-04-13 14:32:46 【问题描述】:

我已经开始使用perlbrew 并安装了 perl-5.12.2。

我知道我需要重新安装我的 CPAN 模块,所以我切换到我的新 Perl 版本(perlbrew switch perl-5.12.2hash -r),确认切换成功(perl -v)然后尝试安装一些模块(@ 987654325@ 使用 cpan。但是,cpan 说 `File::Copy::Recursive 是最新的 (0.38)。

当我使用此模块启动 Perl 脚本时,它会喊出Can't locate File/Copy/Recursive.pm in @INC ...(显示许多perl-5.12.2 位置)。当我切换回我的“正常”Perl (perlbrew off) 时,脚本运行良好。

有什么建议吗?也许 CPAN 不适用于 perlbrew

【问题讨论】:

【参考方案1】:

安装 perlbrew 后,您可以通过以下命令安装 cpanm:

perlbrew install-cpanm

否则,每次在 perlbrew 上切换 Perl 版本时,您都需要手动安装 cpanm。只需使用此命令一次。

安装后,您可以使用cpanm 安装缺少的模块:

cpanm File::Copy::Recursive

【讨论】:

顺便说一句,如果你不知道(因为我不知道),cpanm 是 cpan 的替代品,它与 perlbrew 配合得更好。如上所述安装后,您可以使用,例如“cpanm install File::Copy::Recursive”等 @JoshuaRichardson:通知cpanm install 将尝试安装install 模块。因为cpanm没有这样的命令:Usage: cpanm [options] Module [...]【参考方案2】:

使用“cpan”和“cpanm”应该一切正常,也就是说:当用 perlbrew 切换 perl 时,cpan 会看到您使用的版本的已安装模块。

虽然 cpanm 确实是与 perlbrew 一起使用的推荐工具,但 cpan 允许测试报告,所以这是我一直使用的。

【讨论】:

以上是关于如何在使用 perlbrew 时安装 CPAN 模块?的主要内容,如果未能解决你的问题,请参考以下文章

在 OSX Mojave 上安装 DateTime 时遇到问题

perl cpan 安装与 GIT Perl cpan 安装冲突我该如何纠正?

安装 CPAN 模块时如何指定外部库文件位置

如何安装PAMIE模块

如何将 CPAN 模块安装到本地目录中?

如何以非 root 用户身份使用 CPAN?