2012-02-28 2 views
1

Windows 7 64 비트를 실행 중이므로 문제의 일부로 보입니다. 처음에는 쉘 프롬프트에서 install CPAN을 시도 할 때 내 cpan이 멈추었습니다. Cygwin에서 Perl 스크립트가 멈 춥니 다. 아무 것도 고쳐지지 않습니다.

나는 내 컴퓨터를 다시 시작 시도하고, 시도의 다양한 ash에서 rebaseallpeflagsall를 사용하는 - 심지어 DLL의에 대한 새로운 기준을 시작 (명령이 뭔가 rebaseall -vb 0x730000 같은 목록 - Cygwin에서 메일 링에 제안했다).

Cygwin을 제거하고 전체 재설치를 시도해야합니까? cpan이 필요로하는 모든 종속성이 있습니다 (즉, gcc-4).

나는 CPAN (특히 JSON::XS)에서 설치된 모듈을 사용하려고하면 실패한 dll에 관한 오류 메시지가 표시됩니다.

제공 할 수있는 도움이 환상적입니다.

감사합니다.

+0

cpan 상호 작용을 표시 할 수 있습니까? –

+0

'CPAN을 설치하려고 할 때 나타나는 에러 메시지는'100803213 [main] perl 5592 child_copy :로드 된 dll 데이터 쓰기 복사 실패, 0x73241000..0x732427F0, 완료 0, windows pid 5636, Win32 오류 487' – ZenLikeThat

답변

3

설치시 누락 된 dll에 대해 불평하는 것은 알려진 버그입니다. 많은 모듈에서 나타납니다. 대부분의 모듈은 여전히 ​​설치되어 있지만 여전히 작동합니다. 필자의 경험에 따르면 대부분의 모듈을 강제 설치해야한다. 거의 항상 실패하는 테스트가 있기 때문이다.

나는 개인적으로 cygwin 환경에서 perl을 선호하지만 Strawberryperl을 설치하는 데는 하나의 좋은 이유가 있습니다. cygwin에서 지원하지 않는 64 비트 지원이 필요합니다. 예를 들어 XML :: Simple을 사용하여 대용량 XML 데이터 구조로 작업 할 계획이라면 32 비트 Windows에서 지원하는 1.5-2GB가 훨씬 도움이되지 않을 것이며 Strawberryperl이 구해줄 것입니다. Perl의 이식성 덕분에, 두 세트의 perl을 같은 컴퓨터에 설치하는 것 외에는 Cygwin을 사용하여 개발하고 64 비트 Strawberryperl을 사용하여 "프로덕션"으로 실행하는 데 아무런 문제가 없습니다.

+0

굉장합니다. 나는 너를 업신 여길 수 있었으면 좋겠지 만 나는 아직 그 평판이 없다. StrawberryPerl은'perl'을 사용하여 명령 줄에서 스크립트를 실행할 수 있습니까? 나는 Cygwin과 독립적으로 설치된'wget' 함수를 가지고 있습니다. – ZenLikeThat

+0

또한 스크립트의 시작 부분에'#!/bin/perl'을 사용하여 커맨드 라인에서 직접 실행 가능하게하는 전통적인 방법을 어떻게 바꾸겠습니까? 시간 내 줘서 고마워. – ZenLikeThat

+0

당신은'perl myscriptname.pl' 또는 유사한 것을 수행함으로써 (Cygwin 외부에서) Windows에서 스크립트를 실행합니다 (여러분의 경로에 strawberryperl이 있다고 가정하거나'c : \ strawberry \ bin \ perl.exe myscript와 같은 전체 경로를 사용하는 것으로 가정). 유닉스 스타일의 hashbang은 Windows에서 작동하지 않는다. (Cygwin 외) 필요할 경우,'perl yourscript.pl'을 호출하고, 선택적으로 디렉토리를 변경하는 (DOS 스타일의) 배치 파일 (.bat)을 만들 수있다. 펄 스크립트가이 문제를 스스로 해결하지 못한다면 경로 설정하기 –

2

cygwin을 설치하고 그 위에 Perl을 구축하고 있습니까? 대부분의 CPAN 모듈을 필요에 따라 빌드하고 설치할 수있게 해주는 Strawberry Perl을 자신의 cygwin 환경과 함께 사용하면 더 성공적 일 것입니다.

+0

나는 그것을 고찰 할 것이다, 고마워. Cygwin의'setup.exe'에서'perl'과'cpan' 모듈을 사용하고 있습니다. – ZenLikeThat

+0

Strawberry Perl은 gnu 도구 모음을 가지고 있지만 Cygwin 환경과 전혀 다릅니다. 모든 OP가 Windows 시스템에서 Perl을 실행하기를 원한다면 이는 좋은 해결책입니다. OP가 Cygwin에서 perl을 실행하기를 원한다면, 도움이되지 않을 것입니다. – mob

0

정상적인 쉘 (일반적으로 bash가되고 Cygwin에서 $ 프롬프트가 나옵니다)과 cpan 쉘 (cpan[1]>과 같은 프롬프트가 나옵니다) 사이의 차이점이 의심됩니다.

cpan 셸에서 install CPAN은 CPAN 저장소에서 많은 수의 Perl 스크립트를 새로 고칩니다. bash 쉘에서 install CPAN은 의미가 없습니다. install은 방금 빌드 한 패키지를 설치하기위한 프로그램입니다. Perl과 관련이 없거나 Cygwin에서 패키지를 설치하는 방법과 관련이 없습니다.

bash 쉘 프롬프트에서 cpan을 실행하여 CPAN 쉘에 들어갈 수 있습니다. 그러나 나는 그것이 당신이 필요로하는 것이라고 생각하지 않습니다. 실제로 수행하려는 작업은 다음을 실행하는 것입니다.

cpan JSON::XS 
+0

나는'cpan' 쉘에서'install CPAN'과'install JSON :: XS'를 실행하려고 시도했다. 오류 메시지가 나타나기도하고 (필자도 마침내 필자가 설치했다고 생각했을 때 그 모듈을 사용하는 펄 스크립트를 실행하려고하는 비슷한 오류 메시지를 보았습니다.) 아마 그 사실을 분명히 알 수있었습니다. – ZenLikeThat

관련 문제