2012-07-06 27 views
5

Ho seguito questo helpful tutorial per installare Perl solo per il mio utente. Mi dispiace collegare a un sito esterno, ma penso che leggere questo sia l'unico modo per capire come rispondere alla domanda.Installazione di moduli CPAN senza radice

Anywho, sto alimentando valori di default per la configurazione CPAN - le .cpan e CPAN directory create tramite il tutorial - ma per qualche ragione CPAN ha ancora voglia di scavare in /usr/lib/ - che semplicemente non può raggiungere - quando provo a installa un modulo. Questo è stato durante l'installazione di DBD::CSV.

Ecco il messaggio di errore:

All tests successful (7 subtests UNEXPECTEDLY SUCCEEDED), 3 tests skipped. 
Files=23, Tests=706, 3 wallclock secs (2.28 cusr + 0.54 csys = 2.82 CPU) 
/usr/bin/make test -- OK 
Running make install 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
ERROR: Can't create '/perl5lib/lib/Bundle/DBD' 
mkdir /perl5lib: Permission denied at /usr/lib/perl5/5.8.8/ExtUtils/Install.pm line 457 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
at -e line 1 
make: *** [pure_site_install] Error 13 
/usr/bin/make install -- NOT OK 

E sembra andare per il torto perl5lib.

risposta

5

Sì, città :: lib aiuta. Suggerisco di usare cpanm invece di cpan. Penso che il valore predefinito sia l'installazione di ~/perl5/lib/perl5. Ecco uno super useful tutorial.

+0

Ciao, grazie per la risposta. Ho provato a installare cpanm e richiede l'accesso alle cartelle da cui sono limitato. Continuerò con l'installazione bootstrap di local :: lib, I spose. Ma mi chiedo, c'è un modo per cambiare un env. variabile con regolare cpan tale da non apparire in usr/lib? – PinkElephantsOnParade

+1

sì, la variabile d'ambiente ** PERL5LIB ** è ciò che desideri. –

0

hai configurato il myconfig.pm all'interno di cpan invece di consentire il riempimento automatico di tutti i valori predefiniti? Durante la configurazione di cpan è stato necessario aggiungere PREFIX = "" per la parte Makefile.PL in modo che installi i moduli in questa nuova posizione in cui si ha accesso in scrittura. Dal momento che è già configurato automaticamente per te, vai in .cpan/CPAN /, cerca MyConfig.pm e modificalo. individuare la riga "makepl_arg" e modificare il valore in [] per contenere PREFIX = "". Quindi prova la shell perl -MCPAN -e e installa un modulo.

5

local::lib fa sì che gli installatori utilizzino INSTALL_BASE, che considero danneggiato. Io uso perlbrew per installare invece una copia locale di Perl.

  • Non si scherza con l'installazione di Perl del sistema, in modo da non interrompere l'ambiente operativo.
  • Consente di avere più versioni e versioni di Perl installate senza problemi.
  • INSTALL_BASE non è necessario utilizzare.
  • Non sono necessarie autorizzazioni speciali.
Problemi correlati