【发布时间】:2013-03-11 11:23:53
【问题描述】:
我正在开展一个项目,该项目需要将所有第三方(阅读:CPAN)perl 模块安装在 perforce 存储库中,以便任何依赖于它们的代码都可以成功运行,而无需其他任何人手动安装他们。我使用 cpanminus 安装我的 CPAN 模块,所以我在所需目录中运行 cpanm -L . Moose,一切都安装成功。但是,当我尝试编译使用 Moose 制作的模块时,有时会出现以下错误:
Undefined subroutine &Carp::longmess_heavy called at /usr/lib/perl5/5.8.8/Carp.pm line 235.
看起来,即使 Carp 已使用 Moose 安装到我的本地目录中,它仍在使用 /user/lib/perl5/5.8.8 中的(过时)版本。我可以在我的机器上升级 Carp,但是一旦我将我的代码检查到存储库中,其他所有拥有过时 Carp 的人都会遇到同样的问题。那么如何强制 Moose 使用本地安装的 Carp,而不是 /usr/lib/perl5/5.8.8 中的那个?
【问题讨论】:
标签: perl dependencies perl-module cpan dependency-management