Модуль File::ShareDir::Install
представляет собой практический способ переноса вспомогательных файлов с дистрибутивом / модулем Perl. Однако я немного озадачен тем, как включить его в зависимости моего проекта.
Я попытался установить свой пакет на новую машину (на самом деле контейнер докеров с базовой ОС + Perl + CPAN) и получил ошибку:
Can't locate File/ShareDir/Install.pm in @INC ... at Makefile.PL line 7.
Согласно документации (perldoc File::ShareDir::Install
), в моем Makefile.PL
шаблон должен быть:
use ExtUtils::MakeMaker;
use File::ShareDir::Install;
install_share 'share';
install_share dist => 'dist-share';
install_share module => 'My::Module' => 'other-share';
WriteMakefile( ... ); # As you normaly would
package MY;
use File::ShareDir::Install qw(postamble);
Однако для этого мне нужно, чтобы File::ShareDir::Install
был предварительно установлен в моей системе как требование для запуска Makefile.PL
скрипта. Объявление зависимости не сработает по понятным причинам!
Следует ли мне проинструктировать своих пользователей явно установить File::ShareDir::Install
перед моим модулем? Можно ли установить его программно в Makefile.PL
, напрямую вызвав модуль CPAN
?