Pregunta

He instalado Perl 5.12.2 utilizando perlbrew:

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

luego cambió a esta versión y IPC::System::Simple instala mediante cpanm.

Sin embargo, cuando trato de ejecutar mi script me sale:

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.

También se encontró el siguiente directorio: ~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple pero está vacía (no tengo ni idea de si esto significa algo).

¿Fue útil?

Solución

¿Qué which cpanm de la serie de línea de comandos? Para que se debería informar:

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

Si eso es bien entonces ¿Qué muestra ls -l /home/dave/perl5/perlbrew/bin/cpanm? Se debe apuntar a:

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

Y, por último ls -l /Users/barry/perl5/perlbrew/perls/current debe estar apuntando hacia el Perl que haya cambiado en el perlbrew :

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

Los tres de éstos debe ser como esto de otra manera algo está mal.

Si no es entonces un problema probable es que cpanm está apuntando a otro Perl instalado. Es necesario tener cpanm instalado para cada versión de Perl bajo perlbrew :

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

Ahora bien, si which cpanm todavía no muestra la ruta perlbrew entonces usted tiene un problema de precedencia $PATH en su .bash_profile (o equivalente) de archivos. Esto se puede solucionar por asegurarse de que su perlbrew línea ...

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

... en el archivo de perfil es después de cualquier otra línea export $PATH.

Después de volver re-inicio de sesión en el que puede confirmar que esto es lo correcto por hacer echo $PATH y debería ver perlbrew al principio (a la izquierda) de la cadena de ruta, es decir. algo como esto:

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

Otros consejos

Trate esta guía paso a paso , prestando mucha atención a los pasos 7 y 8 (y opcionalmente 9).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top