0

我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。

我是不是该:

下载源代码并专门为这些模块创建一个目录?

任何人有他们成功使用的任何其他想法或实现?

4

2 回答 2

0

CPAN 总是与核心分开——注意/usr/lib/perl5子目录core_perlvendor_perl(发行版打包的 CPAN 模块)和site_perl(本地安装的模块)。

ExtUtils ::MakeMakerModule::Build都默认将所有内容安装到“站点”目录;这也适用于您使用cpanorcpanm命令安装的所有内容。如果您使用 Linux 发行版的软件包,它们会转到“供应商”路径。

您可以使用以下命令指定不同的安装位置(例如,将所有 CPAN 模块直接保存在您的 home 中):

dir=~/perl5

export PERL5LIB="${dir}"
export PERL_MM_OPT="INSTALL_BASE='${dir}'"
export PERL_MB_OPT="--install-base '${dir}'"
于 2012-12-18T07:23:36.357 回答
0

在系统目录中安装时所冒的风险是每个与系统相关的 Perl 脚本都将使用这些模块。如果其中一个模块是系统使用的模块的较新且不兼容的版本,那么您将不高兴。

在私有目录中安装的推荐方法是使用 local::lib。请参阅引导技术:https ://metacpan.org/module/local::lib

设置 local::lib 后,您可以使用任何标准 CPAN 客户端来安装模块。

于 2012-12-24T06:14:35.153 回答