Мне нужно установить два модуля 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). Я пытался использовать переменные, такие как PERL_LIB
и LIB
в командной строке, после PREFIX=...
, но ничего, что я сделал, похоже, не работает.
Я могу сделать make
и make install
успешно, но я не могу сделать make test
из-за этой проблемы. Есть предложения?
Я нашел несколько советов на http://servers.digitaldaze.com/extensions/perl/modules.html, чтобы использовать переменную окружения PERL5LIB, но это также, похоже, не работает:
export PERL5LIB=/non/system/location/lib/perl5/
не решил проблему.