如何说服 cpanminus 在 lib/ 而不是 lib/perl5 中安装模块?



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

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

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

通过 Module::Build 源代码,看起来不可能在没有目录perl5部分的情况下安装模块——至少在使用install_base时是这样(cpanm 的--self-contained暗示(。从评论来看,似乎决定在使用install_base时始终以lib/perl5安装,以使事情尽可能可预测。看起来MakeMaker也有硬编码。

相关内容