【问题标题】:Can't locate XML/LibXML.pm in @INC在 @INC 中找不到 XML/LibXML.pm
【发布时间】:2017-07-13 17:18:42
【问题描述】:

我正在尝试运行使用 XML/LibXML 包的脚本。 但是,已经安装了 XML/LibXML 包。我运行了以下命令: perl -MXML::LibXML -e 1. 没有输出,说明这个包已经安装了。

当我运行我的脚本时。出现以下错误。

在@INC 中找不到 XML/LibXML.pm(@INC 包含: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .)。 BEGIN 失败——编译中止。

还有一点需要注意的是/usr/lib64/perl5/site_perl/下没有目录“5.8.8”

请建议解决这个问题。

【问题讨论】:

  • 脚本中的shebang是什么?你从which perl 得到什么输出?你从perl -MXML::LibXML\ 999 得到什么输出?
  • Re "还有一点需要注意的是/usr/lib64/perl5/site_perl/下没有目录"5.8.8"",这不太可能是问题。
  • 请提供perl -MXML::LibXML -le'print "#!".$^X; print $INC{"XML/LibXML.pm"}'的输出和脚本的第一行。

标签: perl


【解决方案1】:

有三种可能:

  • 您安装了两次perl,而您的脚本使用了“错误”的一个。

    要么使用脚本使用的perl 安装 XML::LibXML,要么将脚本的 shebang (#!) 行替换为以下输出:

    perl -MXML::LibXML -le'print "#!".$^X'
    
  • 环境差异。

    如果 XML::LibXML 安装在非标准目录中,则可能是 PERL5LIB 用于在您执行测试时将其传达给 perl,而不是在您运行脚本时。

  • 权限问题。

    这不太可能。

    如果脚本以与您的测试相同的用户身份运行,则不是权限问题。

    如果是权限问题,请确保执行脚本的用户可以访问库目录。

【讨论】:

    猜你喜欢
    • 2013-10-18
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多