gpt4 book ai didi

linux - 为什么 Perl 脚本在 CentOS 的引导过程中运行时找不到某些模块?

转载 作者:可可西里 更新时间:2023-11-01 11:48:54 24 4
gpt4 key购买 nike

我目前正在尝试在自定义版本的 CENTOS 中启动时运行 perl 脚本。

我是通过从 rc1 脚本调用它来实现的,调用如下所示:

/mydirectory/myscript &

但我收到错误消息“无法在@INC 中找到 strict.pm”

这不是 strict.pm 特有的,它会为使用列表中第一个模块抛出该错误。然而,当我从 shell 运行相同的命令时,它运行没有问题。

那么为什么我的 perl 脚本在启动期间找不到模块?

最佳答案

也许来自环境的@INC还没有建立起来。它需要其库的路径。

您可以使用 perl 解释器和 -I 选项显式调用它,或者设置 PERL5LIB 环境变量。

PERL5LIB='/usr/lib/perl5' /mydirectory/myscript &

如果有多个文件夹,用冒号分隔:

 PERL5LIB='/usr/lib/perl5:/tmp:/etc/lib/perl5' /mydirectory/myscript &

请注意,我不知道您的 CentOS 中的 lib 目录在哪里,所以我创建了那个路径。

您可以通过从常规 shell 中打印 @INC 来找出答案,如下所示:

$ perl -E 'say for @INC'

将它列出的所有路径附加到您在 rc1 脚本中进行的调用的环境变量中,它应该可以工作。

关于linux - 为什么 Perl 脚本在 CentOS 的引导过程中运行时找不到某些模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31942938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com