如何解决使用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
而不是{{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(实际上是我想要列出依赖项时使用的方法)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。