使用 cpanp 安装本地模块 + 子模块

Installing local module + submodules using cpanp

我有以下项目结构:

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 而不是 A/.

我做错了什么?

这可能不是推荐的方法,但对于那些寻找 quick-and-dirty 解决方案的人来说,只需将所有内容移动到 lib 目录即可。

对我来说它看起来像:

A-B
└── lib
    └── A
        ├── B
        │   ├── one.pm
        │   ├── three.pm
        │   └── two.pm
        └── B.pm

A-B 目录中时,我只是 运行:

cpan .

因为我只想在本地安装我的模块,这种方法对我有用,但如果您认为有充分的理由使用 module-starter 之类的工具(如@HåkonHægland 所建议)或至少写我自己的Makefile.PL(这实际上是我最终使用的方法,因为我想列出依赖项)。