我有一个 perl 脚本 ( test.pl
)。如果我通过 command 运行这个脚本perl test.pl
,它会正常工作。但是,当我运行 command 时sudo perl test.pl
,会出现以下错误:
无法在 @INC 中找到 Log/Log4perl.pm(@INC 包含:/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl / usr/lib64/perl5 /usr/share/perl5 。)
我觉得这很奇怪,因为我运行脚本是root
. 你知道为什么吗?
如果您使用的模块未安装,您可能会收到这样的错误,这似乎不是我们这里的情况。
另一种可能性是在
@INC
您运行的两个用户之间有一个不同的数组。您可以使用以下方法验证这一点:比较输出以查看 中的不同路径
@INC
。然后,您可以@INC
通过添加缺少的路径或在已定义的路径之一中安装所需的模块来修复。