Могу ли я переместить модули Perl, не нарушая систему? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть точная проблема, описанная здесь: Perl не может найти модуль при запуске из cron.daily , за исключением того, что моя проблема относится к сценарию perl, запущенному из crontab.

В моемcase сообщение об ошибке:

May 24 22:12:02 trackcam3 test_cron: Can't locate Image/Grab.pm in @INC (you may need to install the Image::Grab module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /home/darren/upload_image.pl line 33, <DATA> line 1.
May 24 22:12:02 trackcam3 test_cron: BEGIN failed--compilation aborted at /home/darren/upload_image.pl line 33, <DATA> line 1.

Решения по ссылке все добавляют что-то к пути.Я хотел бы знать, могу ли я переместить или скопировать модули куда-нибудь, где их можно найти, когда perl-скрипты из crontab.

Как часть устранения неполадок, я уже загрузил cron с тем же PATH, что и с терминалано этого недостаточно, чтобы позволить найти модуль perl.

Отсутствующий модуль находится в ~/perl5/lib/perl5, а не в @ INC

Те же модули вызова сценария perl, которые расположены в

/usr/lib/arm-linux-gnueabihf/perl5/5.24/Image/Magick

Должно ли это быть где-то еще?В настоящее время /usr/lib/perl5 пусто.ОП в ссылке задал тот же вопрос в ссылке, но не получил ответа.

Ответы [ 2 ]

0 голосов
/ 27 мая 2018

Перейдите по ссылке в следующем комментарии @haukex, чтобы получить полное объяснение.

0 голосов
/ 25 мая 2018

Попробуйте:

use lib glob( '~/perl5/lib/perl5' );
use Image::Grab;

use lib должен предшествовать многим use модулям.

...