Domanda

Ho installato perl-5.12.2 utilizzando perlbrew:

perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f

Ho poi passato a questa versione e installato IPC::System::Simple usando cpanm.

Tuttavia, quando provo a fare funzionare il mio script ottengo:

Can't locate IPC/System/Simple.pm in @INC (@INC contains: /home/dave/workspace/proj1/scripts/bin/../lib /home/dave/src/bioperl-live /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2 .) at /home/dave/workspace/proj1/scripts/bin/../lib/createLayout.pm line 14.

Inoltre ho trovato la seguente dir: ~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple ma è vuota (non ho idea se questo significa qualcosa).

È stato utile?

Soluzione

Cosa which cpanm dalla riga di comando show? Per voi dovrebbe riferire:

/home/dave/perl5/perlbrew/bin/cpanm

Se questo è OK, allora che cosa fa ls -l /home/dave/perl5/perlbrew/bin/cpanm show? Si dovrebbe puntare:

cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm

E infine ls -l /Users/barry/perl5/perlbrew/perls/current deve essere rivolta al Perl sei passato al perlbrew :

/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2

Tutti e tre di questi deve essere così altrimenti qualcosa non va.

Se la sua probabile problema allora non è che cpanm sta puntando ad un altro Perl installato. È necessario avere cpanm installati per ogni versione di Perl in perlbrew :

perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus

Ora, se which cpanm ancora non mostra il percorso perlbrew allora avete un problema di precedenza $PATH nel vostro .bash_profile (o equivalente) file. Questo può essere risolto facendo in modo che il vostro perlbrew linea ...

source /home/dave/perl5/perlbrew/etc/bashrc

... nel file del profilo è dopo tutte le altre linee export $PATH.

Dopo aver di nuovo ri-login in voi può confermare che questo è giusto facendo echo $PATH e si dovrebbe vedere perlbrew all'inizio (a sinistra) della stringa di percorso, vale a dire. qualcosa di simile a questo:

/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin:

Altri suggerimenti

questa guida passo-passo , prestando attenzione ai punti 7 e 8 (e facoltativamente 9).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top