Rhel

找不到 IO/Pty.pm - 但已安裝

  • December 17, 2019

我有一個從另一個開發人員那裡繼承的腳本,並試圖讓它在新的 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

您的應用程序幾乎可以肯定無權訪問中間目錄之一:

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

您可以使用以下方法修復此問題(以 root 身份)chmod o+rx /usr/local/lib64/perl5

引用自:https://unix.stackexchange.com/questions/557745