IO/Pty.pm을 찾을 수 없지만 설치되어 있습니다.

IO/Pty.pm을 찾을 수 없지만 설치되어 있습니다.

다른 개발자로부터 상속받은 스크립트가 있고 이를 새 RHEL 서버에서 실행하려고 합니다. 이 스크립트는 IO/Pty(및 IO/Tty)를 "사용"하는 Expect.pm을 사용합니다.

문제는 이 스크립트를 실행할 때 IO/Pty.pm을 찾을 수 없다고 주장한다는 것입니다. 두 IO 모듈의 경로는 /usr/local/lib64/perl5/IO입니다. 이 경로는 내 @INC에 있습니다.

권한이 다른 기능 모듈의 권한과 일치하는지 확인했습니다(또한 테스트로 775를 시도했습니다).

새 서버와 이전 서버의 유일한 차이점은 Expect.pm 버전, IO/Pty 및 IO/Tty(새 서버의 최신 버전)입니다.

어떻게 작동하게 만들 수 있는지 아시나요?

오류는 다음과 같습니다.

[Tue Dec 17 14:33:51.284748 2019] [cgi:error] [pid 64712] [client redacted:63776] AH01215: Can't locate IO/Pty.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/share/perl5/Expect.pm line 23


drwxr-xr-x. 17 root root 4096 May  8  2019 /usr
drwxr-xr-x. 18 root root 4096 May 20  2019 /usr/local
drwxr-xr-x.  3 root root 4096 Jul 12 13:44 /usr/local/lib64
drwxr-x---   4 root root 4096 Dec 17 12:18 /usr/local/lib64/perl5
drwxr-x---   4 root root 4096 Dec 17 12:18 /usr/local/lib64/perl5/
drwxrwxr-x   3 root root 4096 Dec 17 14:56 /usr/local/lib64/perl5/IO
-rwxrwxr-x   1 root root 9114 Sep 12  2014 /usr/local/lib64/perl5/IO/Pty.pm
-rwxrwxr-x   1 root root 8096 Sep 12  2014 /usr/local/lib64/perl5/IO/Tty.pm

답변1

귀하의 애플리케이션은 거의 확실하게 중간 디렉터리 중 하나에 액세스할 수 없습니다.

drwxr-x---   4 root root 4096 Dec 17 12:18 /usr/local/lib64/perl5

다음 명령을 사용하여 이 문제를 해결할 수 있습니다(루트로).chmod o+rx /usr/local/lib64/perl5

관련 정보