Can‘t locate Cmd.pm in @INC

1 篇文章 0 订阅
1 篇文章 0 订阅

    centos7 编译openssl ,./Configure时报错如上,查看本机已经安装了perl,推测Configure过程中调用了perl脚本, 但是在寻找perl中指定的功能模块文件的时候找不到, 于是命令行下

yum install perl-YAML perl-Term-ReadLine perl-version perl-libs perl-devel perl-Test-* perl-Pod-* perl-ExtUtils-* perl-CGI
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Perl 中使用 `use Foo;` 语句导入模块时,Perl 会在 `@INC` 数组中搜索 `Foo.pm` 文件。如果找不到该文件,就会报错 `Can't locate Foo.pm in @INC`。 `@INC` 是 Perl 的一个数组,它包含了 Perl 搜索模块文件的路径。当我们使用 `use` 导入模块时,Perl 会在 `@INC` 数组中搜索与模块名相同的 `.pm` 文件。如果找到了该文件,就会执行其中的代码并将模块中定义的函数、变量或常量导入到当前命名空间中。 如果报错 `Can't locate Foo.pm in @INC`,那么可能是以下原因之一: 1. `Foo.pm` 文件不存在。请检查是否存在名为 `Foo.pm` 的文件,以及该文件是否在 `@INC` 中。 2. `Foo.pm` 文件存在,但是没有在 `@INC` 中。可以使用 `use lib` 语句将文件所在目录添加到 `@INC` 中,例如: ``` use lib '/path/to/Foo'; use Foo; ``` 上面的代码会将 `/path/to/Foo` 目录添加到 `@INC` 中,然后使用 `use Foo;` 导入 `Foo` 模块。 3. `Foo.pm` 文件存在,但是没有权限读取。请检查文件权限是否正确,以及当前用户是否有权限读取该文件。 4. `Foo.pm` 文件存在,但是文件名有误。请检查文件名是否为 `Foo.pm`,以及文件名的大小写是否与 `use` 语句中的模块名一致。 5. `Foo.pm` 文件存在,但是文件中有语法错误。请检查文件中的语法是否正确。 总的来说,解决 `Can't locate Foo.pm in @INC` 错误的方法是找到 `Foo.pm` 文件并将其添加到 `@INC` 中,或者将文件所在目录添加到 `@INC` 中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值