local :: lib и notest для Makefile.PL - PullRequest
1 голос
/ 11 мая 2011

У меня есть Makefile.PL, для которого я хочу установить зависимости с флагом "notest" и использовать мой локальный каталог lib :: lib, но я не могу понять параметры Makefile.PL.

Мой Makefile.PL выглядит следующим образом:

use inc::Module::Install;

name 'MyApp';
all_from 'lib/MyApp.pm';

requires 'Moose';
requires 'Catalyst::Runtime';
install_script glob('script/*.pl');
auto_install;
WriteAll;

Я заметил, что вывод local::lib (который уже установлен) в мой сеанс bash включает некоторые флаги, которые, вероятно, приведут к установке зависимостей вlocal :: lib, но я не уверен, и я еще не проверял это:

$ eval $(perl -Mlocal::lib)
$ perl -Mlocal::lib
export PERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/home/user/perl5";
export PERL_MB_OPT="--install_base /home/user/perl5";
export PERL_MM_OPT="INSTALL_BASE=/home/user/perl5";
export PERL5LIB="/home/user/perl5/lib/perl5/i686-linux:/home/user/perl5/lib/perl5:$PERL5LIB";
export PATH="/home/user/perl5/bin:$PATH";

Но я не уверен, что это изменит поведение команд Makefile.PL.

1 Ответ

3 голосов
/ 11 мая 2011

Вы должны навсегда применить настройки из заклинания eval, например, добавив их в .bashrc.

Да, установка переменных PERL_MM_OPT изменяет поведение ExtUtils :: MakeMaker, которыйявляется основой Module :: Install.См. INSTALL_BASE в ExtUtils :: MakeMaker .

. Вам не нужно ничего менять в Makefile.PL.


PERL_CPANM_OPT=-n cpanm …
cpanp -i --skiptest …

Как правило, пропуски тестов не выполняютсяваша рука, но пользователь. cpan-клиент даже не позволяет этого, только форсирует установку после неудачного шага тестирования.Если пользователь устанавливает зависимости вручную, он полностью контролирует каждый шаг, и вы вообще не можете запретить ему выполнить тестовый шаг.

Я думаю, что теперь вам нужно объяснить, чего вы хотите достичь, желая запретитьтестирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...