Dopo la migrazione da un computer ad un altro mi sono trovato con perlbrew e Perl 5 che non funzionavano come mi aspettavo.
Ad esempio per installare alcuni moduli mi veniva fornito un dubbioso messaggio di successo e di errore contemporaneo:
% cpanm Net::SCP
...
Successfully installed Net-SSH-0.09
...
Successfully installed String-ShellQuote-1.04
! Installing the dependencies failed: Module 'String::ShellQuote' is
not installed, Module 'Net::SSH' is not installed
! Bailing out the installation for Net-SCP-0.08.
2 distributions installed
Come si può vedere, mentre ad esempio Net::SSH risulta installato, poche righe dopo lo stesso modulo risulta assente.
Alla fine ho scoperto, quasi per caso l'arcano: avevo migrato anche una configurazione della shell che impostava due variabili di ambiente usate da Module::Build, e in particolare
PERL_MB_OPT="--install_base \"/home/luca/perl5\"";
PERL_MM_OPT="INSTALL_BASE=/home/luca/perl5";
Rimosse quelle variabili tutto ha ripreso a funzionare come dovuto. In sostanza cpanm installava i moduli in un percorso differente da quello usato per la costruzione dei moduli successivi.
Non si finisce mai di imparare.
Nessun commento:
Posta un commento