我正在将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也有硬编码。