Atualizei para o Mountain Lion há 4 dias e depois percebi que meus scripts perl não funcionavam mais. Então instalei o ActivePerl 5.14 (versão mais recente) porque achei que o perl foi excluído. Depois de instalar o ActivePerl, meus programas ainda não funcionaram:
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.
No terminal, quando digito perl -v, isso mostra que ele usa o ActivePerl recém-instalado. Eu usei sudo clan -> install Excel :: Writer :: XLSX para instalar o módulo ausente. No entanto, não o instala para a versão 5.12, mas para o ActivePerl 5.14.
As próprias costuras do Mac OS X Perl a serem instaladas aqui:
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$
Há também uma versão aqui:
bash-3.2$ ls /opt/local/lib/perl5/
5.12.4 site_perl vendor_perl
Eu pensei que era melhor excluir o ActivePerl executando o desinstalador. Fiz isso e também removi o diretório 5.12.4 e o site_perl em / opt / local / lib / perl5.
Então eu queria reinstalar o módulo XLSX :: Writer usando cpan. Eu pensei que ele é instalado no diretório perl antigo. No entanto, a execução do cpan agora resulta no seguinte erro:
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.
Não sei o que fazer agora. Acho que o melhor que posso fazer é provavelmente reinstalar o próprio Perl do Mac OS X, como fazer isso?
fonte
Respostas:
Encontrei em outro site o seguinte comando
$ sudo perl -MCPAN -e 'CPAN :: Shell-> notest (instalação => CPAN :: Shell-> r)'
Isso atualizou todos os meus módulos perl e tudo voltou ao normal. Não sabe por que ou o quê, mas não se preocupe se está funcionando agora.
fonte
Por várias e diversas razões, a atualização do sistema operacional exige que você atualize / reinstale separadamente o MacPorts. Na verdade, os desenvolvedores criaram uma página de migração bastante agradável que detalha o processo necessário para que o ambiente de portas volte a funcionar após a atualização do sistema operacional.
Resumidas, as etapas que você precisa seguir são:
port -qv installed > myports.txt
. Isso pega uma cópia de todas as portas instaladas.sudo port -f uninstall installed
sudo port clean all
myports.txt
e reinstale os pacotes que você realmente deseja.Na verdade, acelerou meu processo de reinstalação editando o
myports.txt
arquivo, de forma que contivesse os nomes (e apenas os nomes) dos pacotes que eu queria com um pacote por linha e executando o seguinte comandoO que isso faz é percorrer esse arquivo e executar o comando
port install line
para todas as linhas do arquivo. É um uso inútil de gato, mas quem se importa, é mais fácil de ler.fonte