Установка модуля Perl — не гениальная работа, но выполнить ее без root-доступа может оказаться сложной задачей (конечно, не невозможной). С такой ситуацией вы можете столкнуться, когда у вас нет прав на стандартные каталоги, в которых установлен Perl-модуль. В этом уроке мы увидим, как можно установить модуль Perl без прав root или суперпользователя, установив его в отдельные нестандартные каталоги.
Первый шаг
Прежде чем мы продолжим, давайте проясним несколько вещей. Прежде всего, я предполагаю, что в вашей системе установлен Perl. Кроме того, для установки модуля Perl я буду использовать следующие каталоги:
/home/perl_modules/bin /homПервый шаг
_modules/man /home/perl_modules/man/man1 /home/perl_modules/lib
Вы можете создавать эти каталоги (bin, man, man/man3 и lib) где угодно. Мы будем использовать этот путь в конфигурации Perl. Вам следует заменить путь, использованный в руководстве, на свой собственный путь к каталогу.
Второй шаг
Теперь нам нужно определить некоторые переменные для локальной настройки Perl. Эта конфигурация будет использоваться для указания модулю Perl, где его следует установить. Для этого я бы предложил записать все эти переменные в один файл и затем использовать его при установке. Это сэкономит нам время и усилия при написании длинных команд и пригодится для дальнейшего использования.
Предположим, мы создаем файл «perl_local_config» в каталоге /home (файл можно создать где угодно):
touch perl_local_config
<
Теперь давайте отредактируем этот файл, чтобы установить переменные конфигурации. Пропишите в нем следующие переменны
Второй шаг
span>PREFIX=/home/perl_modules \ INSTALLSCRIPT=/home/perl_modules/bin \ INSTALLBIN=/home/perl_modules/bin \ INSTALLMAN1DIR=/home/perl_modules/man1 \ INSTALLSITELIB=/home/perl_modules/libТретий шаг
Загрузите модуль Perl с CPAN (или откуда захотите). Разархивируйте его. Зайдите в каталог модуля. Теперь стандартные шаги установки модуля Perl:
perl Makefile.PL make make test make install (if all tests are successful)
Поскольку у вас нет root-доступа, Perl Makefile.PLвыдаст ошибку. И здесь нам на помощь приходит локальный файл конфигурации. Выполните эти команды одну за другой:
perl Makefile.PL `cat /home/perl_local_config`
Если модуль Perl зависит от другого модуля Perl, приведенная выше команда выдаст ошибку. В этом случае загрузите и установите модули, от которых он зависит. Будет применена та же процедура, которую мы здесь обсуждаем.
make make test
Все тесты должны пройти успешно.
make install
Дальнейшее устранение неполадок
При запуске модуля Perl может возник
Третий шаг
/p>Can't locate Locale/Recode.pm in @INC (@INC contains: XXXXX......XXXXX) at /home/bin/your_perl_module line XX.
Это означает, что Perl ищет ваш модуль в стандартном каталоге lib, а не в том, где вы его установили. Чтобы устранить эту ошибку, добавьте локально созданный каталог lib (в примере /home/perl_modules/lib) к пути к библиотеке следующим образом:
export PERL5LIB=/home/perl_modules/lib/perl5/:/home/perl_modules/lib/perl5/site_perl:
Измените пути на свой собственный путь к каталогу.
Я надеюсь, что руководство было простым для понимания и простым для выполнения. Я также надеюсь, что теперь вы сможете устанавливать модули Perl локально, без привилегий суперпользователя, как настоящий чемпион. Буду признателен за ваш отзыв. Подпишитесь на рассылку новостей, если руководство показалось вам полезным и вы хотите оставаться на связи для получения дополнительных обновлений. Наслаждайтесь 🙂