我正在开发一个项目,该项目需要将所有第三方(阅读: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,而不是 in 中的那个/usr/lib/perl5/5.8.8
?