我具有以下项目结构:
A/
|- B.pm
|- B/
|- one.pm
|- two.pm
|- three.pm
在B.pm
中,我有:
package A::B;
use A::B::one;
use A::B::two;
use A::B::three;
现在,我正在尝试使用cpanp
在本地安装此模块。在A
目录中时,我只需运行:
cpanp i .
它说模块'A'已成功安装,但是,当我列出$PERL5LIB
目录的内容时,只能看到B.pm
而不是{{1 }}。
我在做什么错了?
答案 0 :(得分:1)
这可能不是推荐的方法,但是对于那些寻求快速解决方案的人,只需将所有内容移动到lib
目录中即可。
对我来说,它看起来像:
A-B
└── lib
└── A
├── B
│ ├── one.pm
│ ├── three.pm
│ └── two.pm
└── B.pm
在A-B
目录中,我只需运行:
cpan .
由于我只想在本地安装模块,所以这种方法对我有用,但是如果您认为有充分的理由使用module-starter之类的工具(如@HåkonHægland所建议),或者至少编写自己的工具,请告诉我Makefile.PL(实际上是我想要列出依赖项时使用的方法)。