4 일 전에 Mountain Lion로 업데이트 한 후 펄 스크립트가 더 이상 작동하지 않는다는 것을 깨달았습니다. 따라서 perl이 삭제되었다고 생각했기 때문에 ActivePerl 5.14 (최신 버전)를 설치했습니다. 내 프로그램이 여전히 작동하지 않지만 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-> 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을 삭제하는 것이 가장 좋습니다. 나는 그렇게하고 / opt / local / lib / perl5의 site_perl 디렉토리뿐만 아니라 5.12.4도 제거했습니다.
그런 다음 cpan을 사용하여 XLSX :: Writer 모듈을 다시 설치하고 싶었습니다. 그런 다음 이전 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.
지금 무엇을해야할지 모르겠습니다. 내가 할 수있는 최선의 방법은 아마도 Mac OS X 자체 Perl을 다시 설치하는 것입니다.
답변
다른 웹 사이트에서 다음 명령을 발견했습니다.
$ sudo perl -MCPAN -e ‘CPAN :: Shell-> notest (설치 => CPAN :: Shell-> r)’
이것은 내 perl 모듈을 모두 업데이트했으며 모두 정상으로 돌아 왔습니다. 왜 또는 무엇인지 확실하지 않지만 지금 작동하는지 걱정하지 마십시오.
답변
다양하고 햇볕이 잘 드는 이유로 OS를 업그레이드하려면 MacPort를 별도로 업그레이드 / 다시 설치해야합니다. 개발자는 실제로 OS를 업그레이드 한 후 포트 환경을 다시 작동시키는 데 필요한 프로세스를 자세히 설명하는 멋진 마이그레이션 페이지를 만들었습니다 .
요약하면 따라야 할 단계는 다음과 같습니다.
- 새로운 Xcode를 다운로드하여 설치하십시오.
- 명령 행 (gcc, make 등) 도구가 설치되어 있는지 확인하십시오. Xcode 응용 프로그램 내에서 환경 설정-> 다운로드로 이동하여 설치하십시오.
- OS 버전에 맞는 MacPorts 설치 프로그램 을 다운로드하십시오 .
- 설치하십시오.
- 선택한 터미널을 엽니 다.
- 명령을 실행하십시오
port -qv installed > myports.txt
. 설치된 모든 포트의 사본을 가져옵니다. - 모든 포트를 설치 제거하십시오.
sudo port -f uninstall installed
- 놀이 공간 정리하기 :
sudo port clean all
- 파일을
myports.txt
살펴보고 실제로 원하는 패키지를 다시 설치하십시오.
실제로 myports.txt
파일 을 편집하여 줄당 하나의 패키지로 원하는 패키지의 이름과 이름 만 포함하고 다음 명령을 실행하여 재설치 프로세스를 가속화했습니다.
cat myports.txt | xargs -n1 port install
이것이하는 일은 해당 파일을 통해 파일의 port install line
모든 줄에 대해 명령 을 실행하는 것 입니다. 그것은 쓸모없는 고양이의 사용이지만 걱정하는 사람은 읽기 쉽습니다.