【发布时间】:2011-03-05 06:13:13
【问题描述】:
我需要在网络主机上安装两个 Perl 模块。我们称它们为 A::B 和 X::Y。 X::Y 取决于 A::B (需要 A::B 运行)。他们都使用Module::Install。我已使用
成功地将 A::B 安装到非系统位置perl Makefile.PL PREFIX=/non/system/location
make; make test; make install
现在我想安装 X::Y,所以我尝试同样的事情
perl Makefile.PL PREFIX=/non/system/location
输出是
$ perl Makefile.PL PREFIX=/non/system/location/
Cannot determine perl version info from lib/X/Y.pm
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- Test::More ...loaded. (0.94)
- ExtUtils::MakeMaker ...loaded. (6.54 >= 6.11)
- File::ShareDir ...loaded. (1.00)
- A::B ...missing.
==> Auto-install the 1 mandatory module(s) from CPAN? [y]
它似乎在系统中找不到 A::B,尽管它已安装,并且当它尝试从 CPAN 自动安装模块时,它尝试将其写入系统目录(忽略 PREFIX)。我曾尝试在PREFIX=... 之后在命令行上使用PERL_LIB 和LIB 等变量,但我所做的一切似乎都不起作用。
make 和make install 可以成功,但由于这个问题,我不能make test。有什么建议吗?
我在 http://servers.digitaldaze.com/extensions/perl/modules.html 找到了一些使用环境变量 PERL5LIB 的建议,但这似乎也不起作用:
export PERL5LIB=/non/system/location/lib/perl5/
没有解决问题。
【问题讨论】:
标签: perl perl-module