我已将我的应用程序打包为 Perl 模块,但无法使用cpan
orcpanm
命令安装。问题是这些命令 - 当不以 root 身份运行时 - 将必备模块安装到 ~/perl5 目录中。但是,我的 ~/perl5 目录不包含在 @INC
这导致来自 cpanm 的以下令人困惑的输出:
$ cpanm --installdeps .
--> Working on .
Configuring my-module-0.001 ... OK
==> Found dependencies: Image::Size
--> Working on Image::Size
Fetching http://www.cpan.org/authors/id/R/RJ/RJRAY/Image-Size-3.232.tar.gz ... OK
Configuring Image-Size-3.232 ... OK
Building and testing Image-Size-3.232 ... OK
Successfully installed Image-Size-3.232
! Installing the dependencies failed: Module 'Image::Size' is not installed
! Bailing out the installation for my-module-0.001.
1 distribution installed
如您所见,它成功下载、测试并安装了 Image::Size 模块,但随后尝试使用它并失败。
我知道我可以通过将环境变量 $PERL5LIB 设置为“~/perl5/lib/perl5”并将“~/perl5/bin”添加到我的 $PATH 来解决这个问题,但我真的很想知道这种情况是如何产生的首先。我想让我的应用程序用户的安装说明尽可能简单,并且我不打算指导他们手动修改环境变量。