2016-07-22 2 views
1

Я очень новичок в Jenkins и Perl, и я пытаюсь установить модуль Log4perl с помощью Jenkin Job. Ниже приводится команда, которую я использовал в Execute окне оболочки Дженкин вКак установить модуль Log4perl с помощью Jenkins

perl -MCPAN -e 'install Log::Log4Perl' 

И ниже сообщение

12:44:49 PATH="/home/jenkins/perl5/bin${PATH:+:${PATH}}"; export PATH; 
12:44:49 PERL5LIB="/home/jenkins/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; 
12:44:49 PERL_LOCAL_LIB_ROOT="/home/jenkins/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; 
12:44:49 PERL_MB_OPT="--install_base \"/home/jenkins/perl5\""; export PERL_MB_OPT; 
12:44:49 PERL_MM_OPT="INSTALL_BASE=/home/jenkins/perl5"; export PERL_MM_OPT; 
12:44:49 
12:44:49 Would you like me to append that to /home/jenkins/.bashrc now? [yes] yes 
12:44:49 
12:44:49 
12:44:49 commit: wrote '/home/jenkins/.cpan/CPAN/MyConfig.pm' 
12:44:49 
12:44:49 You can re-run configuration any time with 'o conf init' in the CPAN shell 
12:44:49 Warning: Cannot install Log::Log4Perl, don't know what it is. 
12:44:49 Try the command 
12:44:49 
12:44:49  i /Log::Log4Perl/ 
12:44:49 
12:44:49 to find objects with matching identifiers. 
12:44:52 [DEV_etl_europcar] $ /bin/sh -xe /tmp/hudson6339194449797505730.sh 
12:44:52 Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered 
12:44:52 DEV_send_welcome_email is disabled. Triggering skipped 
12:44:52 Finished: SUCCESS 

Дженкин журнала консоли В журнале сообщении говорится

Предупреждение: Не удается установить Log :: Log4Perl, не знаю, что это такое.

Я не уверен, следует ли игнорировать вышеуказанное утверждение или нет. Также можно проверить, установлен ли модуль log4perl успешно или нет.

ответ

1
  1. Вы не должны полагаться на возможность пропустить цитаты вокруг строк в Perl. perl -MCPAN -e 'install Log::Log4Perl' лучше всего писать как perl -MCPAN -e 'install "Log::Log4Perl"' (исключая кавычки, также вызывает странные проблемы, если вы пытаетесь установить/обновить любой модуль, загруженный самим CPAN).

  2. Все это может быть упрощено до cpan Log::Log4Perl в любом случае.

  3. Ошибка возникает, потому что Log::Log4Perl действительно не существует, но Log::Log4perl. (Нижний регистр p).

Таким образом: cpan Log::Log4perl должен делать то, что вы хотите.


Что касается других ваших вопросов: «Не удается установить ...» означает, что установка не удалась (это не то, что вы можете просто игнорировать).

Чтобы проверить, есть ли модуль, попробуйте загрузить его: perl -e 'require Log::Log4perl' (если его там нет, вы получите Can't locate Log/Log4perl.pm in @INC ...).

+0

using 'cpan Log :: Log4perl' команда Я его установил, но когда я запускаю скрипт .pl или' perl -e ', требуется команда Log :: Log4perl''. Я получаю сообщение 'Can not locate Log/Log4perl.pm в @INC (@INC содержит:/usr/local/lib64/perl5 ... '. – user5441395

+0

Я считаю, что установленное место может быть проблемой здесь. В сообщении журнала показан путь установки:« Установка/home/jenkins/perl5/man/man3/Log :: Log4perl :: Layout.3pm' & while, а во время запуска скрипта он просматривал местоположение '/ usr/local/lib64/perl5 ...'. Если это так, то как я могу установите в определенное место. Pls исправьте меня, если я ошибаюсь. – user5441395

+0

@ user5441395 Это установка ['local :: lib'] (https://metacpan.org/pod/local::lib), которая заставляет модули устанавливать в '~/perl5', а также сделать perl-нагрузку. Выполняете ли вы команду' require' как пользователь 'jenkins'? – melpomene

Смежные вопросы