Как установить модуль CPAN в локальный каталог?
я использую размещенную Linux-машину, поэтому у меня нет разрешений на запись в .
когда я пытаюсь установить модуль CPAN, делая обычное:
perl Makefile.PL
make test
make install
этот модуль извлекается . Я сохранил use
blib/lib/ModuleName
но все равно компилятор говорит, что модуль не может быть
найдено. Я попытался скопировать .PM-файл в локальный каталог и хранится
require ModuleName
но все же это дает мне некоторую ошибку.
как я могу установить модуль в какую-то другой каталог и использовать его?
5 ответов
у меня была аналогичная проблема, когда я даже не мог установить local:: lib
Я создал установщик, который установил модуль где-то относительно.PL files
установка проходит так:
perl Makefile.PL PREFIX=./modulos
make
make install
затем, в .PL файл, который требует модуль, который находится в ./
use lib qw(./modulos/share/perl/5.8.8/); # You may need to change this path
use module::name;
остальные файлы (makefile.pl модуль.pm и т. д.) не требуют изменений.
вы можете позвонить .PL файл только с
perl file.pl
другие ответы уже на Stackoverflow:
- Как установить модули локально без доступа root...
- как я могу использовать новый модуль Perl без разрешений на установку?
из perlfaq8:
как сохранить собственный каталог модуля / библиотеки?
когда вы строите модули, скажите Perl где установить модули.
Для Makefile.PL-based дистрибутивы, используйте опцию INSTALL_BASE при генерации Makefiles:
perl Makefile.PL INSTALL_BASE=/mydir/perl
вы можете установить это в своем CPAN.PM configuration so модули автоматически устанавливаются в каталог частной библиотеки при использовании CPAN.pm shell:
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit
Для Сборки.PL-дистрибутивы, используйте опцию --install_base:
perl Build.PL --install_base /mydir/perl
вы можете настроить CPAN.pm, чтобы автоматически использовать эту опцию:
% cpan
cpan> o conf mbuildpl_arg '--install_base /mydir/perl'
cpan> o conf commit
local:: lib поможет вам. Он убедит "make install" (и "Build install") установить в каталог, в который вы можете написать, и он скажет perl
Как добраться до этих модулей.
В общем, если вы хотите использовать модуль, который находится в каталоге blib/, вы хотите сказать perl -Mblib ...
здесь ...
Как вы обычно вызываете ваш скрипт.
Я настоятельно рекомендую Perlbrew. Он позволяет запускать несколько версий Perl, устанавливать пакеты, взломать Perl internals, если вы хотите, все обычные разрешения пользователя.
Для Makefile.PL-дистрибутивы, используйте опцию INSTALL_BASE при генерации Makefiles:
perl Makefile.PL INSTALL_BASE=/mydir/perl