Поиск по сайту:

Как установить модули Perl в Linux

В этом кратком руководстве объясняется, как установить модули Perl в Linux из CPAN (Cкомплексный Perl Archive >сетевойрепозиторий). На момент написания этого руководства в CPAN было 185 128 модулей Perl. Многие программы, написанные на языке программирования Perl, зависят от определенных модулей Perl для выполнения конкретной задачи. Например, на днях я тестировал Sysadmin-util, который предоставляет набор полезных инструментов для системных администраторов Linux/Unix. Когда я тестировал специальный инструмент под названием multi-ping, я столкнулся со следующей ошибкой:

./multi-ping google.com
The required Net::DNS module is missing. Aborting.

В таких случаях вам необходимо найти и установить недостающий модуль Perl, чтобы использовать эту программу.

Установите модули Perl в Linux

Существует множество инструментов для установки модулей Perl. Мы собираемся попробовать два инструмента, а именно cpan и cpanm. Стоит отметить, что для многих модулей CPAN требуется последняя версия Perl версии 5.8 или выше.

Убедитесь, что вы установили пакет 'make' в свой дистрибутив Linux. make — важный инструмент для создания модулей Perl.

Если вы не установите make, вы можете столкнуться с ошибкой, подобной приведенной ниже:

Can't configure the distribution. You probably need to have 'make'.

Пакет make доступен в репозиториях по умолчанию большинства дистрибутивов Linux.

Чтобы установить make в Arch Linux и его вариантах, запустите:

sudo pacman -S make

В Debian, Ubuntu, Linux Mint:

sudo apt install make

В Fedora:

sudo dnf install make

В RHEL, CentOS:

sudo yum install make

В SUSE/openSUSE:

sudo zypper install make

Давайте продолжим и установим модули Perl.

Установите модули Perl с помощью cpan

cpan — это клиент командной строки для репозитория CPAN, который по умолчанию распространяется со всеми выпусками Perl.

Чтобы установить модуль Perl, например Net::DNS, войдите в оболочку cpan с помощью команды:

sudo cpan

И введите следующую команду в командной строке cpan, чтобы установить модуль:

install Net::DNS

После установки модуля введите 'exit', чтобы вернуться в оболочку.

Вы также можете установить модуль напрямую из Терминала с помощью команды:

sudo cpan Net::DNS

Установите модули Perl с помощью Cpanminus

Cpanminus или cpanm — это клиент cpan для получения, распаковки, сборки и установки модулей из репозитория CPAN. Это автономный сценарий без зависимостей, не требующий настройки. Многие опытные разработчики Perl предпочитают cpanm cpan.

cpanminus можно установить разными способами.

1. Использование Perl:

Чтобы установить последнюю версию cpanm в вашей системе Linux, просто запустите:

curl -L https://cpanmin.us | perl - --sudo App::cpanminus

Эта команда установит cpanm общесистемно и установит двоичный файл cpanm в ваш каталог bin, например /usr/local/bin.

2. Использование менеджера пакетов дистрибутива:

cpanm также доступен в репозиториях по умолчанию в нескольких дистрибутивах Linux. Это стабильная версия, но немного устаревшая.

Чтобы установить cpanminus в Arch Linux и его вариантах, запустите:

sudo pacman -S cpanminus

В Debian, Ubuntu, Linux Mint:

sudo apt install cpanminus

В CentOS:

sudo yum install perl-App-cpanminus

3. Ручная установка:

Кроме того, вы можете вручную загрузить последнюю версию двоичного файла cpanm и поместить ее в свой путь `, как показано ниже.

curl -L https://cpanmin.us/ -o cpanm
chmod +x cpanm
sudo mv cpanm /usr/local/bin/cpanm

После установки cpanm вы можете установить любой модуль Perl, например Net::DNS, выполнив следующую команду из своего терминала:

sudo cpanm Net::DNS

Пример вывода:

--> Working on Net::DNS
Fetching http://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz ... OK
Configuring Net-DNS-1.21 ... OK
==> Found dependencies: Digest::HMAC
--> Working on Digest::HMAC
Fetching http://www.cpan.org/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz ... OK
Configuring Digest-HMAC-1.03 ... OK
Building and testing Digest-HMAC-1.03 ... OK
Successfully installed Digest-HMAC-1.03
Building and testing Net-DNS-1.21 ... OK
Successfully installed Net-DNS-1.21
2 distributions installed

Установите недостающие модули Perl с помощью менеджера пакетов дистрибутива.

Многие модули Perl доступны в виде пакетов, поэтому вы можете установить их с помощью менеджера пакетов вашего дистрибутива.

В Дебиане, Убунту:

apt-cache search 'perl$' | grep Net::DNS

Выход:

libnet-dns-zonefile-fast-perl - fast BIND-style zonefile parser on top of Net::DNS

Как видите, модуль Net::DS предоставляется «libnet-dns-zonefile-fast-perl», поэтому давайте установим его с помощью команды:

sudo apt install libnet-dns-zonefile-fast-perl

Чтобы найти недостающий модуль в Arch Linux, запустите:

pacman -Ss '^perl-' | grep Net::DNS

И установите недостающий модуль с помощью команды «pacman».

Список установленных модулей Perl

Чтобы просмотреть список установленных модулей Perl, используйте команду «perldoc»:

perldoc perllocal

Пример вывода:

Thu Jan 30 10:45:11 2020: "Module" Digest::HMAC
    *   "installed into: /usr/local/share/perl/5.26.1"

    *   "LINKTYPE: dynamic"

    *   "VERSION: 1.03"

    *   "EXE_FILES: "

  Thu Jan 30 10:47:41 2020: "Module" Net::DNS
    *   "installed into: /usr/local/share/perl/5.26.1"

    *   "LINKTYPE: dynamic"

    *   "VERSION: 1.21"

    *   "EXE_FILES: "

  Thu Jan 30 10:48:54 2020: "Module" Digest::BubbleBabble
    *   "installed into: /usr/local/share/perl/5.26.1"

    *   "LINKTYPE: dynamic"

    *   "VERSION: 0.02"

    *   "EXE_FILES: "

Другой способ вывести список установленных модулей Perl — использовать команду instmodsh, как показано ниже.

instmodsh

Вы увидите следующий результат:

Available commands are:
l - List all installed modules
m <module> - Select a module
q - Quit the program
cmd?

В командной строке cmd введите 'l', чтобы просмотреть список модулей.

Installed modules are:
App::cpanminus
Digest::BubbleBabble
Digest::HMAC
Module::Build
Net::DNS
Perl
cmd?

Обратите внимание, что две приведенные выше команды выведут список модулей, установленных с помощью cpan. Многие модули могут быть установлены либо вручную, либо предварительно установлены в вашем дистрибутиве Linux.

Чтобы найти все установленные модули Perl, запустите:

cpan -l

Или,

cpan -a

Удалить модули Perl

Модули Perl можно легко удалить с помощью cpanm с помощью команды:

sudo cpanm --uninstall Net::DNS

Введите y и нажмите Enter, чтобы удалить модуль со всеми файлами конфигурации.

Net::DNS contains the following files:

/usr/local/man/man3/Net::DNS.3pm
/usr/local/man/man3/Net::DNS::Domain.3pm
/usr/local/man/man3/Net::DNS::DomainName.3pm
[...]
/usr/local/share/perl/5.26.1/Net/DNS/Text.pm
/usr/local/share/perl/5.26.1/Net/DNS/Update.pm
/usr/local/share/perl/5.26.1/Net/DNS/ZoneFile.pm

Are you sure you want to uninstall Net::DNS? [y] y

Надеюсь это поможет.

Статьи по данной тематике