首页 > 解决方案 > 如何说服 cpanminus 在 lib/ 而不是 lib/perl5 中安装模块?

问题描述

我正在将 a 中列出的一堆模块安装cpanfile到一个独立的目录中:

 cpanm -L bundle --quiet --notest --self-contained --with-recommends --installdeps .

之后,所有模块都在bundle/lib/perl5. 这几乎正​​是我想要的。是否有要输入的咒语cpanm(或要设置的环境变量)来cpanm告诉安装程序将文件放入bundle/lib,而不是?我认为我需要做一些事情来说服 ExtUtils::MakeMaker 和 Module::Build 将不同的值附加到install_base,但我无法弄清楚如何。

标签: perlconfigurationinstallationcpancpanm

解决方案


浏览Module::Build source看起来如果没有目录的一部分就无法安装模块perl5- 至少在使用时不会install_base(这 cpanm--self-contained暗示)。从评论来看,似乎做出了一致的决定,即在lib/perl5使用时始终安装install_base,以使事情尽可能可预测。看起来MakeMaker 也对其进行了硬编码


推荐阅读