Назад | Перейти на главную страницу

Не удается запустить Perl-скрипт с помощью sudo

У меня есть Perl-скрипт (test.pl). Если я запустил этот скрипт по команде perl test.pl, он работает как обычно. Однако, когда я запускаю команду sudo perl test.pl, возникает следующая ошибка:

Не удается найти журнал / Log4perl.pm в @INC (@INC содержит: / usr / local / lib64 / perl5 / usr / local / share / perl5 / usr / lib64 / perl5 / vendor_perl / usr / share / perl5 / vendor_perl / usr / lib64 / perl5 / usr / share / perl5.)

Я считаю это странным, потому что я запускаю скрипт root. Ты знаешь почему?

Вы можете получить такую ​​ошибку, если модуль, который вы используете, не установлен, что, похоже, не в нашем случае.

Другая возможность - иметь другой @INC массив между двумя пользователями, от имени которых вы работаете. Вы можете проверить это, используя:

$ perl -V
$ sudo perl -V

Сравните вывод, чтобы увидеть разные пути в @INC. Затем вы можете исправить @INC добавив отсутствующий путь или установив необходимый модуль в один из уже определенных путей.