无法找到 IO/Pty.pm - 但它已安装

无法找到 IO/Pty.pm - 但它已安装

我有一个从另一位开发人员那里继承的脚本,并试图使其在新的 RHEL 服务器上运行。该脚本使用 Expect.pm,它“使用”IO/Pty(和 IO/Tty)。

问题是,当我运行此脚本时,它声称无法找到 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

您可以使用以下命令修复此问题(以 root 身份)chmod o+rx /usr/local/lib64/perl5

相关内容