Есть способ, описанный в perlfaq8 , который local :: lib делает для вас.
Это также часто задаваемый вопрос StackOverflow:
Любопытно, что ни один из них не предлагается, когда я использую исходное название вопроса(что является одной из причин, по которым хороший заголовок очень важен для поиска вашего ответа).
Как мнеep мой собственный каталог модулей / библиотек?
Когда вы собираете модули, скажите Perl, где устанавливать модули.
Если вы хотите установить модули для своего собственного использования, самый простой способ может быть локальным:: lib, которую вы можете скачать с CPAN.Он устанавливает различные параметры установки для вас и использует те же параметры в ваших программах.
Если вы хотите большей гибкости, вам необходимо настроить клиент CPAN для вашей конкретной ситуации.
Для Makefile.В дистрибутивах на основе PL используйте опцию INSTALL_BASE при создании файлов Makefile:
perl Makefile.PL INSTALL_BASE=/mydir/perl
. Вы можете установить это в своей конфигурации CPAN.pm, чтобы модули автоматически устанавливались в каталог вашей частной библиотеки при использовании оболочки CPAN.pm:
% cpan
cpan> o conf makepl_arg INSTALL_BASE=/mydir/perl
cpan> o conf commit
Для дистрибутивов на основе Build.PL используйте параметр --install_base:
perl Build.PL --install_base /mydir/perl
Вы можете настроить CPAN.pm для автоматического использования этой опции тоже:
% cpan
cpan> o conf mbuild_arg "--install_base /mydir/perl"
cpan> o conf commit
INSTALL_BASE говорит этим инструментам поместить ваши модули в / mydir / perl / lib / perl5.См. Как мне добавить каталог к моему пути включения (@INC) во время выполнения?подробности о том, как запускать только что установленные модули.
Однако есть одна оговорка с INSTALL_BASE, поскольку она действует иначе, чем настройки PREFIX и LIB, которые поддерживали более старые версии ExtUtils :: MakeMaker.INSTALL_BASE не поддерживает установку модулей для нескольких версий Perl или разных архитектур в одном каталоге.Вам следует подумать, действительно ли вы этого хотите, и если вы этого хотите, используйте более старые настройки PREFIX и LIB.Для получения дополнительной информации см. Документацию ExtUtils :: Makemaker.