Actualicé a Mountain Lion hace 4 días y luego me di cuenta de que mis scripts de perl ya no funcionaban. Así que instalé ActivePerl 5.14 (versión más nueva) porque pensé que perl había sido eliminado. Después de instalar ActivePerl, aunque mis programas todavía no funcionaban:
Warning message:
running command 'perl calc.pl' had status 2
Can't locate Excel/Writer/XLSX.pm in @INC (@INC contains:
/Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-
2level /System/Library/Perl/Extras/5.12 .) at test.pl line 3.
BEGIN failed--compilation aborted at calc.pl line 3.
En el terminal cuando escribo perl -v, muestra que usa el ActivePerl recién instalado. Usé sudo clan -> instalar Excel :: Writer :: XLSX para instalar el módulo que falta. Sin embargo, no lo instala para 5.12 sino para ActivePerl 5.14.
Aquí se instala el propio Mac OS X Perl:
bash-3.2$ ls /Library/Perl/
5.10 5.12 Updates
bash-3.2$ ls /System/Library/Perl/
5.10 5.12 Extras lib
bash-3.2$
También hay una versión aquí:
bash-3.2$ ls /opt/local/lib/perl5/
5.12.4 site_perl vendor_perl
Pensé que lo mejor es eliminar ActivePerl ejecutando su desinstalador. Lo hice y también eliminé 5.12.4 y el directorio site_perl en / opt / local / lib / perl5.
Luego, quería reinstalar el módulo XLSX :: Writer usando cpan. Pensé que luego se instala en el antiguo directorio de Perl. Sin embargo, ejecutar cpan ahora da como resultado el siguiente error:
bash-3.2$ sudo cpan
Can't locate strict.pm in @INC (@INC contains:
/opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level
/opt/local/lib/perl5/site_perl/5.12.4
/opt/local/lib/perl5/vendor_perl/5.12.4/darwin-multi-2level
/opt/local/lib/perl5/vendor_perl/5.12.4 /opt/local/lib/perl5/5.12.4/darwin-multi-
2level /opt/local/lib/perl5/5.12.4 /opt/local/lib/perl5/site_perl
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level
/opt/local/lib/perl5/vendor_perl/5.12.3 /opt/local/lib/perl5/vendor_perl .) at
/opt/local/bin/cpan line 5.
BEGIN failed--compilation aborted at /opt/local/bin/cpan line 5.
No sé que hacer ahora. Creo que lo mejor que puedo hacer es probablemente reinstalar el propio Perl de Mac OS X, ¿cómo hacerlo?
fuente
Respuestas:
Encontré en otro sitio web el siguiente comando
$ sudo perl -MCPAN -e 'CPAN :: Shell-> notest (install => CPAN :: Shell-> r)'
Esto actualizó todos mis módulos perl y todo volvió a la normalidad. No estoy seguro de por qué o qué, pero no me importa que esté funcionando ahora.
fuente
Por diversas razones, la actualización del sistema operativo requiere una para actualizar / reinstalar MacPorts por separado. Los desarrolladores han creado una página de migración bastante agradable que detalla el proceso necesario para que su entorno de puertos vuelva a funcionar después de actualizar el sistema operativo.
En resumen, los pasos que debe seguir son:
port -qv installed > myports.txt
. Esto toma una copia de todos los puertos instalados.sudo port -f uninstall installed
sudo port clean all
myports.txt
y reinstale los paquetes que realmente desea.De hecho, aceleré mi proceso de reinstalación editando el
myports.txt
archivo, de modo que contenía los nombres (y solo los nombres) de los paquetes que quería con un paquete por línea, y ejecuté el siguiente comandoLo que esto hace es revisar ese archivo y ejecutar el comando
port install line
para cada línea del archivo. Es un uso inútil del gato, pero a quién le importa, es más fácil de leer.fuente