NOME |
perlmodinstall - Installing CPAN Modules [Installazione di moduli CPAN, NdT]
Potete pensare a un modulo come l'unità fondamentale di codice Perl riusabile; si veda the perlmod manpage per i dettagli. Ogni volta che qualcuno crea un pezzo di codice Perl e pensa che esso possa essere utile per il mondo, si registra come sviluppatore Perl su http://www.perl.com/CPAN/modules/04pause.html in modo da poter importare il proprio codice su CPAN. CPAN significa Comprehensive Perl Archive Network [Rete Completa di Archivi Perl, NdT] e vi si può accedere da http://www.perl.com/CPAN/.
Questa documentazione è per coloro che desiderano scaricare moduli da CPAN e intallarli nel proprio computer.
Per prima cosa, siete sicuri che il modulo non sia già presente
sul vostro sistema? Provate perl -MPippo -e 1
. (Sostituite ``Pippo'' con
il nome del modulo; per esempio, perl -MCGI::Carp -e 1
.
Se non vedete un messaggio d'errore, il modulo c'è. (Se vedete un
messaggio d'errore, è ancora possibile che il modulo ci sia,
ma che questo non stia nel vostro path, che potete visualizzare con
perl -e "print qq(@INC)"
). Per il resto di questo documento, assumeremo
che non ci sia davvero l'installazione di un modulo, ma che abbiate trovato
questo modulo su CPAN.
Avete un file il cui nome termina per .tar.gz (o, talvolta, .zip). Sapete che c'è un succulento modulo al suo interno. Ora, sono quattro i passi che dovete compiere:
In questo documento vengono spiegati i passi da compiere per ogni sistema operativo. Questo documento non sostituisce i file README e INSTALL che possono essere trovati insieme ai moduli!
Si noti inoltre che queste istruzioni sono dedicate all'installazione
di moduli nell'archivio dei moduli Perl nel vostro sistema. Ciò
nonostante potete installare i moduli in qualsiasi directory
desideriate. Per esempio, dove viene indicato perl Makefile.PL
,
potete sostituire perl Makefile.PL PREFIX=/lamia/perl_directory
per installare i moduli in /lamia/perl_directory
. Di conseguenza
sarà possibile usare i moduli per i vostri programmi Perl con
use lib "/lamia/perl_directory/lib/site_perl";
o talvolta con
use "/lamia/perl_directory";
. Se avete un sistema che richiede
l'accesso come root o superutente per installare moduli nelle
directory che vedete quande eseguite perl -e "print qq(@INC)"
,
dovrete installarli in una directory locale (come la vostra home
directory) e utilizzare questo approccio.
Potete usare il modulo CPAN di Andreas Koenig ( http://www.perl.com/CPAN/modules/by-module/CPAN ) per automatizzare i seguenti passi, dalla DECOMPRESSIONE all'INSTALLAZIONE.
A. DECOMPRESSIONE
Decomprimete il file con gzip -d vostromodulo.tar.gz
È possibile ottenere gzip da ftp://prep.ai.mit.edu/pub/gnu/
Oppure potete combinare questo passo con il successivo per salvare spazio su disco:
gzip -dc vostromodulo.tar.gz | tar -xof -
B. ESTRAZIONE
Estraete i file risultanti con tar -xof vostromodulo.tar
C. BUILD [indica la fase di preparazione del modulo (copia dei pezzi Perl, compilazione dei pezzi C/XS, creazione delle manpage, ecc) in funzione dei test e dell'installazione, NdT]
Nella directory appena creata digitate:
perl Makefile.PL make test
oppure
perl Makefile.PL PREFIX=/lamia/perl_directory
per installarlo localmente. (Ricordate che se lo fate, dovrete mettere
use lib "/lamia/perl_directory";
all'incirca in cima al programma che
dovrà usare questo modulo).
D. INSTALLAZIONE
Sempre nella stessa directory, digitate:
make install
Assicuratevi di disporre dei permessi appropriati per installare il modulo nella directory delle librerie del vostro Perl 5. Spesso è necessario agire come root.
Queste sono le cose da fare su sistemi Unix con collegamento dinamico. La maggior parte dei sistemi Unix hanno il collegamento dinamico -- se il vostro non l'ha, o se per altre ragioni avete un Perl collegato staticamente e il modulo richiede di essere compilato, sarà necessario compilare un nuovo binario Perl che include il modulo. Ancora, probabilmente sarà necessario agire come root.
Se state usando ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris)Inizialmente, digitate ppm
da una finestra testuale per verificare se
il modulo è presente nell'archivio di PPM della ActiveState.
In caso affermativo, potete installarlo con ppm
e non dovrete avere a
che fare con gli altri passi elencati qui sotto.
Potreste anche essere in grado di utilizzare le istruzioni per CPAN
nella sezione ``Unix o Linux'' sopra, fate un tentativo. Altrimenti
dovrete seguire i passi seguenti.
A. DECOMPRESSIONE
Potete usare la versione shareware di Winzip ( http://www.winzip.com ) per decomprimere ed estrarre i moduli.
B. ESTRAZIONE
Se avete usato WinZip, questo è già stato fatto.
C. BUILD
Avrete bisogno del programma di utilità nmake
disponibile su
http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/nmake15.exe
o dmake, disponibile su CPAN.
http://search.cpan.org/dist/dmake/
Il modulo richiede di essere compilato (ovvero contiene file che terminano con .xs, .c, .h, .y, .cc, .cxx, o .C)? In caso affermativo, siete veramente nei pasticci, perché dovete compilare il modulo voi stessi -- non un compito semplice su Windows. Avrete bisogno di un compilatore come Visual C++. In alternativa, potete scaricare un pacchetto PPM pre-compilato da ActiveState. http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/
Andate nella directory appena creata e digitate:
perl Makefile.PL nmake test
D. INSTALLAZIONE
Sempre nella stessa directory, digitate:
nmake installSe utilizzate un Macintosh con il MacOS classico e MacPerl,
A. DECOMPRESSIONE
Inizialmente, assicuratevi di avere l'ultima distribuzione cpan-mac ( http://www.cpan.org/authors/id/CNANDOR/ ), che dispone di strumenti per compiere tutti i passi. Leggete attentamente i consigli per l'uso di cpan-mac e installatelo. Se per qualche ragione avete scelto di non utilizzare cpan-mac, elenchiamo qui le alternative.
Dopo aver installato cpan-mac posizionate l'archivio del modulo nel droplet di untarzipme il quale effettuerà la decompressione e l'estrazione.
Oppure, potete sia utilizzare il programma shareware StuffIt Expander ( http://www.aladdinsys.com/expander/ ) in combinazione con DropStuff with Expander Enhancer ( http://www.aladdinsys.com/dropstuff/ ) che il programma freeware MacGzip ( http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html ).
B. ESTRAZIONE
Se utilizzate untarzipme o StuffIt, l'estrazione dell'archivio dovrebbe essere già stata effettuata. Oppure potete usare il programma freeware suntar o Tar ( http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/ ).
C. BUILD
Controllate il contenuto della distribuzione. Leggete la documentazione del modulo per vedere se contiene indicazioni su possibili problemi con il suo utilizzo in MacPerl. Controllate se ci sono file con estensione .xs o .c, il che suggerisce che la distribuzione deve essere compilata e non potete installarla così com'è. (Si veda PORTABILITÀ.)
Se il modulo non funziona con MacPerl ma dovrebbe, oppure necessita di essere compilato, controllate se il porting del modulo [per ``porting'' si intende la traduzione di un pezzo di software per trasferirlo da una piattaforma ad un'altra, NdT] è già presente nel sito MacPerl Module Porters ( http://pudge.net/mmp/ ). Per informazioni aggiuntive sull'utilizzo di XS con MacPerl, si veda il corso introduttivo su XS di Arved Sandstrom ( http://macperl.com/depts/Tutorials/ ), e in seguito si prenda in considerazione di rendere pubblico il codice oggetto su CPAN e registrarlo sul sito di MMP.
D. INSTALLAZIONE
Se state usando cpan-mac, eliminate semplicemente la cartella sul droplet installme [installami, NdT], e usate il modulo.
Oppure, se non state usando cpan-mac, fate un po' di lavoro manuale.
Assicuratevi che nei moduli i caratteri di ritorno a capo siano in formato Mac, non Unix. Se non lo sono è possibile che la decompressione non sia stata effettuata correttamente. Controllate i settaggi dei vostri programmi di decompressione per essere sicuri che traducano i file correttamente.
Come ultima risorsa, potete utilizzare il comando Perl:
perl -i.bak -pe 's/(?:\015)?\012/\015/g' <nomi_dei_file>
nei file sorgente.
Di seguito spostate i file (probably just the .pm files, though there
may be some additional ones, too; check the module documentation) nella
loro destinazione finale: questa molto
probabilmente sarà $ENV{MACPERL}site_lib:
(per esempio
HD:MacPerl folder:site_lib:
). Potete aggiungere nuovi percorsi
a quelli contenuti di default nella variabile @INC
nel menu
delle preferenze nell'applicazione MacPerl ($ENV{MACPERL}site_lib:
è aggiunto automagicamente). Create tutte le strutture di
directory necessarie (per esempio per Qualche::Modulo
, create
$ENV{MACPERL}site_lib:Qualche:
e mettete Modulo.pm
in
quella directory).
Poi eseguite il seguente script (o qualcosa del genere):
#!perl -w use AutoSplit; my $dir = "${MACPERL}site_perl"; autosplit("$dir:Qualche:Modulo.pm", "$dir:auto", 0, 1, 1);Se utilizzate la distribuzione DJGPP per DOS,
A. DECOMPRESSIONE
djtarx ( ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2/ ) effettua sia la decompressione che l'estrazione.
B. ESTRAZIONE
Si veda sopra.
C. BUILD
Nella directory appena create digitate:
perl Makefile.PL make test
Avrete bisogno dei moduli menzionati in Readme.dos nella distribuzione del Perl.
D. INSTALLAZIONE
Sempre nella stessa directory, digitate:
make install Avrete bisogno dei moduli menzionati in F<Readme.dos> nella distribuzione del Perl.Se lavorate con OS/2,
Procuratevi il pacchetto di sviluppo di EMX e gzip/tar, o da Hobbes ( http://hobbes.nmsu.edu ) o da Leo ( http://www.leo.org ), e poi seguite le istruzioni per Unix.
Se lavorate con VMS,Quando scaricate il modulo da CPAN, salvate il vostro file
con estensione .tgz
anziché con l'estensione .tar.gz
.
Tutti gli altri punti ``.'' nei nomi dei file devono essere
rimpiazzati dal trattino basso. Ad esempio,
Vostro-Modulo-1.33.tar.gz
deve essere salvato come
Vostro-Modulo-1_33.tgz
.
A. DECOMPRESSIONE
Digitate
gzip -d Vostro-Modulo.tgz
o, per moduli compressi con zip, digitate
unzip Vostro-Modulo.zip
Eseguibili per gzip, zip, e VMStar:
http://www.openvms.digital.com/freeware/ http://www.crinoid.com/utils/
e il loro codice sorgente:
http://www.fsf.org/order/ftp.html
Si osservi che la vesione GNU di gzip/gunzip non coincide con il pacchetto zip/unzip di Info-ZIP. Il primo è semplicemente uno strumento di compressione; il secondo permette la creazione di archivi di file multipli.
B. ESTRAZIONE
Se state usando VMStar:
VMStar xf Vostro-Modulo.tar
Oppure, se avete familiarità con la sintassi del comando VMS:
tar/extract/verbose Vostro_Modulo.tar
C. BUILD
Assicuratevi di disporre di MMS (Digital) o del programma freeware MMK ( disponibile su MadGoat all'indirizzo http://www.madgoat.com ). Quindi digitate il seguente comando per creare il file DESCRIP.MMS per il modulo:
perl Makefile.PL
Adesso siete pronti per eseguire il build:
mms test
Sostituite mmk
con mms
nel caso in cui stiate usando MMK.
D. INSTALLAZIONE
digitate
mms install
Sostituite mmk
con mms
nel caso in cui stiate usando MMK.
Introducete il file .tar.gz in un HFS come binario; non traducete da ASCII a EBCDIC.
A. DECOMPRESSIONE
Decomprimete il file con gzip -d vostromodulo.tar.gz
Potete trovare gzip su http://www.s390.ibm.com/products/oe/bpxqp1.html.
B. ESTRAZIONE
Estraete il risultato con
pax -o to=IBM-1047,from=ISO8859-1 -r < vostromodulo.tar
I passi di BUILD e INSTALLAZIONE sono identici a quelli per Unix. Alcuni moduli generano Makefile che funzionano meglio con la versione GNU di make, che potete trovare su http://www.mks.com/s390/gnu/
Si osservi che non tutti i moduli funzioneranno su tutte le piattaforme. Si veda the perlport manpage per maggiori informazioni sulla questione della portabilità. Si legga la documentazione per vedere se il modulo funziona con il vostro sistema. In pratica ci sono tre categorie di moduli che non funzionano ``così come sono'' in tutte le piattaforme (con qualche possibilità di sovrapposizione):
Controllate il sito dei CPAN Testers [collaudatori di CPAN, NdT] se un modulo dovrebbe funzionare sulla vostra piattaforma ma non si comporta come voi vi aspettate, o non siete sicuri se un modulo funzionerà o no sulla vostra piattaforma. Se il modulo che volete non vi è elencato, potete testarlo voi stessi e farlo sapere ai CPAN Testers, potete unirvi ai CPAN Testers o potete richiedere che venga testato.
http://testers.cpan.org/
Se avete cambiamenti da suggerire per questa documentazione, fatemelo sapere. Per favore non speditemi mail chiedendo aiuto per come installare i vostri moduli. Esistono troppi moduli e troppi pochi Orwant [l'autore di questo documento, NdT] per me per essere in grado di rispondere o anche per prendere in considerazione tutte le vostre domande. Invece, contattate l'autore del modulo o postate un messaggio su comp.lang.perl.modules, o chiedete a qualcuno che abbia familiarità con il Perl sul vostro sistema operativo.
Jon Orwant
con l'inestimabile aiuto di Chris Nandor e il prezioso aiuto di Brandon Allbery, Charles Bailey, Graham Barr, Dominic Dunlop, Jarkko Hietaniemi, Ben Holzman, Tom Horsley, Nick Ing-Simmons, Tuomas J. Lukka, Laszlo Molnar, Alan Olsen, Peter Prymmer, Gurusamy Sarathy, Christoph Spalinger, Dan Sugalski, Larry Virden e Ilya Zakharevich.
Prima versione 22 luglio 1998; ultima revisione 22 novembre 2001.
Copyright (C) 1998, 2002, 2003 Jon Orwant. Tutti i diritti sono riservati.
È permessa la distribuzione e la copia identica di questo documento a patto che siano incluse in ogni copia sia la nota di copyright che questa nota di permesso.
È permessa la copia e la distribuzione di versioni modificate di questa documentazione alle stesse condizioni della copia identica, a patto che sia chiaramente specificato che si tratta di versioni modificate, che i nomi degli autori ed il titolo siano invariati (sebbene didascalie e nomi di autori addizionali possano essere aggiunti), e che il lavoro risultante nel suo intero sia distribuito sotto le stesse condizioni del presente.
È permessa la copia e la distribuzione di traduzioni di questo documento in altre lingue, alle suddette condizioni per le versioni modificate del documento.
Copyright (C) 1998, 2002, 2003 Jon Orwant. All Rights Reserved.
Permission is granted to make and distribute verbatim copies of this documentation provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this documentation under the conditions for verbatim copying, provided also that they are marked clearly as modified versions, that the authors' names and title are unchanged (though subtitles and additional authors' names may be added), and that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this documentation into another language, under the above conditions for modified versions.
La versione su cui si basa questa traduzione è ottenibile con:
perl -MPOD2::IT -e print_pod perl
Per maggiori informazioni sul progetto di traduzione in italiano si veda http://pod2it.sourceforge.net/ .
Traduzione a cura di Raffaello Galli <galliraf at googlemail punto com>.
Revisione a cura di dree.
NOME |