Saya memperbarui ke Mountain Lion 4 hari yang lalu dan kemudian menyadari bahwa skrip perl saya tidak berfungsi lagi. Jadi saya menginstal ActivePerl 5.14 (versi terbaru) karena saya pikir perl telah dihapus. Setelah menginstal ActivePerl meskipun program saya masih tidak berfungsi:
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.
Di terminal ketika saya mengetik perl -v itu menunjukkan bahwa ia menggunakan ActivePerl yang baru diinstal. Saya menggunakan klan sudo -> instal Excel :: Writer :: XLSX untuk menginstal modul yang hilang. Namun, itu tidak menginstalnya untuk 5,12 tetapi untuk ActivePerl 5.14.
Lapisan Mac OS X Perl sendiri yang harus dipasang di sini:
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$
Ada juga versi di sini:
bash-3.2$ ls /opt/local/lib/perl5/
5.12.4 site_perl vendor_perl
Saya pikir yang terbaik adalah menghapus ActivePerl dengan menjalankan uninstaller-nya. Saya melakukan itu dan juga menghapus 5.12.4 serta direktori site_perl di / opt / local / lib / perl5.
Kemudian saya ingin menginstal ulang modul XLSX :: Writer menggunakan cpan. Saya pikir itu kemudian diinstal ke direktori perl yang lama. Namun menjalankan cpan sekarang menghasilkan kesalahan berikut:
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.
Saya tidak tahu harus berbuat apa sekarang. Saya pikir yang terbaik yang bisa saya lakukan mungkin menginstal ulang Perl Mac OS X sendiri, bagaimana melakukan itu?
sumber
Jawaban:
Saya menemukan perintah berikut di situs web lain
$ sudo perl -MCPAN -e 'CPAN :: Shell-> notest (install => CPAN :: Shell-> r)'
Ini memperbarui semua modul perl saya dan semuanya kembali normal. Tidak yakin mengapa atau apa, tetapi tidak peduli itu berfungsi sekarang.
sumber
Untuk berbagai alasan mengapa upgrade OS mengharuskan seseorang untuk secara terpisah meng-upgrade / menginstal ulang MacPorts. Para pengembang sebenarnya telah membuat halaman Migrasi yang cukup bagus yang merinci proses yang diperlukan untuk membuat lingkungan port Anda berfungsi kembali setelah memutakhirkan OS.
Ringkasnya, langkah-langkah yang perlu Anda ikuti adalah:
port -qv installed > myports.txt
. Ini mengambil salinan semua port yang diinstal.sudo port -f uninstall installed
sudo port clean all
myports.txt
dan instal ulang paket yang Anda inginkan.Saya benar-benar mempercepat proses instal ulang saya dengan mengedit
myports.txt
file, sehingga berisi nama (dan hanya nama) dari paket yang saya inginkan dengan satu paket per baris, dan menjalankan perintah berikutApa yang dilakukan adalah melalui file itu dan menjalankan perintah
port install line
untuk setiap baris dalam file. Ini adalah penggunaan kucing yang tidak berguna, tetapi siapa yang peduli, lebih mudah dibaca.sumber