Я обновился до Mountain Lion 4 дня назад, а затем понял, что мои Perl-скрипты больше не работают. Поэтому я установил ActivePerl 5.14 (новейшая версия), потому что я думал, что Perl был удален. После установки ActivePerl, хотя мои программы все еще не работали:
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.
В терминале, когда я набираю perl -v, он показывает, что использует только что установленный ActivePerl. Я использовал sudo clan -> install Excel :: Writer :: XLSX, чтобы установить отсутствующий модуль. Тем не менее, он не устанавливает его для 5.12, но для ActivePerl 5.14.
Собственные швы 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$
Здесь также есть версия:
bash-3.2$ ls /opt/local/lib/perl5/
5.12.4 site_perl vendor_perl
Я думал, что лучше всего удалить ActivePerl, запустив его деинсталлятор. Я сделал это, а также удалил 5.12.4 и каталог site_perl в / opt / local / lib / perl5.
Затем я хотел переустановить модуль XLSX :: Writer, используя cpan. Я думал, что это тогда установлено в старый каталог perl. Однако запуск cpan теперь приводит к следующей ошибке:
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.
Я не знаю, что делать сейчас. Я думаю, что лучшее, что я могу сделать, это, вероятно, переустановить собственный Perl в Mac OS X, как это сделать?
источник
Ответы:
Я нашел на другом сайте следующую команду
$ sudo perl -MCPAN -e 'CPAN :: Shell-> notest (установить => CPAN :: Shell-> r)'
Это обновило все мои модули Perl, и все возвращается к нормальной жизни. Не уверен, почему или что, но не волнует, что это работает сейчас.
источник
По различным и различным причинам обновление ОС требует отдельного обновления / переустановки MacPorts. На самом деле разработчики создали довольно симпатичную страницу миграции, в которой подробно описан процесс, необходимый для того, чтобы ваша среда портов снова заработала после обновления ОС.
Подводя итог, необходимо выполнить следующие шаги:
port -qv installed > myports.txt
. Это захватывает копию всех установленных портов.sudo port -f uninstall installed
sudo port clean all
myports.txt
и переустановите пакеты, которые вам действительно нужны.Я на самом деле ускорил процесс переустановки, отредактировав
myports.txt
файл так, чтобы он содержал имена (и только имена) пакетов, которые я хотел, с одним пакетом в строке и выполнив следующую командуДля этого нужно пройти через этот файл и выполнить команду
port install line
для каждой строки в файле. Это бесполезное использование кошки, но кого это волнует, его легче читать.источник