2013-09-25 5 views
2

C : \ strawberry \ perl \ lib 위치의 perl에 expect 모듈을 설치했습니다.예상 모듈이 perl에서 작동하지 않습니다.

필자는 같은 위치에 IO-Tty 모듈을 먼저 설치 했으므로 perl이 설치되어 있습니다. 이제

나는 그것이 오류를 던지고있다

use Expect; 

를하고있는 중이 야 경우

Can't locate IO/Pty.pm in @INC (@INC contains: C:/strawberry/perl/site/lib C:/st 
rawberry/perl/vendor/lib C:/strawberry/perl/lib .) at C:/strawberry/perl/lib/Exp 
ect.pm line 22. 
BEGIN failed--compilation aborted at C:/strawberry/perl/lib/Expect.pm line 22. 
Compilation failed in require at croak.txt line 1. 
BEGIN failed--compilation aborted at croak.txt line 1. 

가능한 이유는

  1. 펄 IO :: Pty가와 IO를 찾고 :: 청각 장애 모듈은 Expect.pm에서 호출됩니다. 내가 IO :: 청각 장애 모듈을 설치 한 경우, 그것은 이름 Pty.pm 및

Tty.pm

package Expect; 

use IO::Pty 0.97;  # We need make_slave_controlling_terminal() 
use IO::Tty; 
2 개 오후 파일을 가지고있다 그러나 펄은 IO :: 청각 장애 모듈을 찾고있다.

이 문제가 발생합니까? 그렇다면 어떻게 앞으로 나아갈 수 있습니까?

답변

3

는 기대하지 않습니다 Windows에서 작동합니다.

최소한 이것은 CPAN Resters 결과를 볼 때 내 인상입니다. 이 표는 여기에 있습니다. http://matrix.cpantesters.org/?dist=Expect;maxver=1 은 Windows에서 Expect에 대한 PASS가 없었 음을 보여줍니다.

또한 Expect 설명서는 ActivePerl과 작동하지 않는 모듈에 대해 이야기하고 cygwin 대신 https://metacpan.org/module/RGIERSIG/Expect-1.21/Expect.pod#Can-I-use-this-module-with-ActivePerl-on-Windows을 사용할 것을 권장합니다. Expect가 StrawberryPerl에서도 작동하지 않는다고 가정합니다.

+0

감사합니다. Cygwin에서 작동하지만 딸기 펄에서는 작동하지 않습니다. – Nitesh

1

cpan을 사용하여이 모듈을 설치 했습니까? - cpan을 통해서만 모듈을 설치하는 것이 좋습니다. 필요한 모든 의존성을 얻을 수 있습니다.

그렇게했다면 다시 설치하고 오류가 있는지 조심하십시오.

나는 cpan을 통해 설치를 테스트 했으므로 IO :: Tty 패키지를 컴파일해야하기 때문에 설치하려는 모든 펄 모듈에 대한 빌드 환경을 설정해야 할 수도 있습니다.

일부 미리 컴파일 된 파일을 복사 한 경우 누락 된 파일이 실제로 있는지 확인하고 패키지를 다시 다운로드하십시오.

편집 : 내가 놓친 무엇 - 당신의 Pty.pm 및 Tty.pm의 전체 경로 같은 것을해야한다 "C : /strawberry/perl/lib/IO/Tty.pm"

+0

의견을 보내 주셔서 감사합니다. IO 디렉토리를 생성하고 거기에 복사합니다. 하지만 다음 부분에 오류가 있습니다. "@INC에있는 모듈 IO :: Tty에 대한로드 가능한 객체를 찾을 수 없습니다 (@INC에는 다음이 포함됩니다 : C :/straw berry/perl/site/lib C :/strawberry/perl/vendor/lib C :/strawberry/perl/lib.)에서 C : /strawberry/perl/lib/IO/Tty.pm 라인 30. C : /strawberry/perl/lib/IO/Pty.pm 라인 7에서 컴파일이 실패했습니다. BEGIN 실패 - 컴파일이 C : /strawberry/perl/lib/IO/Pty.pm 줄 7에서 중단되었습니다. 컴파일이 C : /strawberry/perl/lib/Expect.pm 줄 22에서 필요하지 않았습니다. BEGIN 실패 - " – Nitesh

+0

에서 컴파일이 중단되었습니다. cygwin에서 작동하지만 딸기 perl에서는 작동하지 않습니다. – Nitesh

+0

이것은 .dll 및/또는 .bs 파일이 누락되어 있기 때문에"C :/strawberry/perl/vendor "와 같은 경로가 있어야합니다 /lib/auto/IO/Tty/Tty.dll ".dll 및/또는 .bs 파일에 다운로드 파일이있는 경우이 파일을 복사하십시오. – Chris

관련 문제