Questa breve guida spiega come installare i moduli Perl su Linux da CPAN (C completo P erl A archivio N rete) repository. Al momento della stesura di questa guida, ci sono 185.128 moduli Perl disponibile in CPAN. Molti programmi scritti nel linguaggio di programmazione Perl dipendono da determinati moduli perl per eseguire un compito specifico. Ad esempio, l'altro giorno stavo testando Sysadmin-util che fornisce una raccolta di strumenti utili per amministratori di sistema Linux/Unix . Quando provo uno strumento specifico chiamato multi-ping , ho riscontrato il seguente errore:
$ ./multi-ping google.com The required Net::DNS module is missing. Aborting.
In questi casi, devi trovare e installare il modulo perl mancante per poter usare quel programma.
Installa i moduli Perl su Linux
Ci sono molti strumenti disponibili per l'installazione e moduli Perl. Proveremo due strumenti:cpan e panm . Vale la pena ricordare che molti moduli su CPAN richiedono la versione recente di Perl versione 5.8 o superiore.
Assicurati di aver installato 'make' pacchetto sulla tua distribuzione Linux. 'make' è uno strumento essenziale per la creazione di moduli perl.
Se non installi 'make', potresti riscontrare un errore simile al seguente:
Can't configure the distribution. You probably need to have 'make'.
Il pacchetto 'make' è disponibile nei repository predefiniti della maggior parte delle distribuzioni Linux.
Per installare 'make' su Arch Linux e le sue varianti, esegui:
$ sudo pacman -S make
Su Debian , Ubuntu , Linux Mint :
$ sudo apt install make
Su Fedora :
$ sudo dnf install make
Su RHEL , CentOS :
$ sudo yum install make
Su SUSE/openSUSE :
$ sudo zypper install make
Andiamo avanti e installiamo i moduli perl.
Installa i moduli Perl usando cpan
panna è un client a riga di comando per il repository CPAN ed è distribuito con tutte le edizioni Perl per impostazione predefinita.
Per installare un modulo Perl, ad esempio Net::DNS , accedi alla shell cpan usando il comando:
$ sudo cpan
E digita il seguente comando dal prompt di cpan per installare il modulo:
install Net::DNS
Una volta installato il modulo, digita 'exit' per tornare al tuo guscio.
Puoi anche installare il modulo direttamente dal Terminale usando il comando:
$ sudo cpan Net::DNS
Installa i moduli Perl usando Cpanminus
Cpanmeno o cpanm è un client cpan per ottenere, decomprimere, creare e installare moduli dal repository CPAN. È uno script autonomo e privo di dipendenze che richiede una configurazione zero. Molti sviluppatori Perl esperti preferiscono cpanm su cpan.
cpanminus può essere installato in molti modi.
Per installare l'ultima versione di cpanm sul tuo sistema Linux, esegui semplicemente:
$ curl -L https://cpanmin.us | perl - --sudo App::cpanminus
Questo comando installerà cpanm a livello di sistema e installerà cpanm binary nella directory bin come /usr/local/bin .
cpanm è disponibile anche nei repository predefiniti di diverse distribuzioni Linux. È una versione stabile, ma un po' vecchia.
Per installare cpanminus su Arch Linux e le sue varianti, esegui:
$ sudo pacman -S cpanminus
Su Debian, Ubuntu, Linux Mint:
$ sudo apt install cpanminus
Su CentOS:
$ sudo yum install perl-App-cpanminus
In alternativa, puoi scaricare manualmente l'ultimo binario cpanm e inserirlo nel tuo $PATH come di seguito.
$ curl -L https://cpanmin.us/ -o cpanm
$ chmod +x cpanm
$ sudo mv cpanm /usr/local/bin/cpanm
Dopo aver installato cpanm, puoi installare qualsiasi modulo Perl, ad esempio Net::DNS, eseguendo il seguente comando dal tuo Terminale:
$ sudo cpanm Net::DNS
Risultato di esempio:
--> 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
Installa i moduli Perl mancanti usando il gestore di pacchetti della distribuzione
Molti moduli Perl sono disponibili come pacchetti, quindi puoi installarli usando il gestore di pacchetti della tua distribuzione.
Su Debian, Ubuntu:
$ apt-cache search 'perl$' | grep Net::DNS
Risultato:
libnet-dns-zonefile-fast-perl - fast BIND-style zonefile parser on top of Net::DNS
Come puoi vedere, il modulo Net::DS è fornito da "libnet-dns-zonefile-fast-perl", quindi installiamolo usando il comando:
$ sudo apt install libnet-dns-zonefile-fast-perl
Per trovare il modulo mancante su Arch Linux, esegui:
$ pacman -Ss '^perl-' | grep Net::DNS
E installa il modulo mancante usando il comando 'pacman'.
Elenca i moduli Perl installati
Per elencare i moduli Perl installati, usa il comando 'perldoc':
$ perldoc perllocal
Risultato di esempio:
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: "
Un altro modo per elencare i moduli Perl installati è usare il comando 'instmodsh' come di seguito.
$ instmodsh
Vedrai il seguente output:
Available commands are: l - List all installed modules m <module> - Select a module q - Quit the program cmd?
In cmd prompt, digita 'l' per elencare i moduli.
Installed modules are: App::cpanminus Digest::BubbleBabble Digest::HMAC Module::Build Net::DNS Perl cmd?
Si noti che i due comandi precedenti elencheranno i moduli installati con cpan. Potrebbero esserci molti moduli installati manualmente o preinstallati con la tua distribuzione Linux.
Per trovare tutti i moduli Perl installati, esegui:
$ cpan -l
Oppure,
$ cpan -a
Disinstalla i moduli Perl
I moduli Perl possono essere facilmente rimossi usando cpanm usando il comando:
$ sudo cpanm --uninstall Net::DNS
Digita y e premi INVIO per rimuovere il modulo lungo con tutti i file di configurazione.
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
Spero che questo aiuti.