【问题标题】:@INC Perl- Can't locate Class/CSV.pm in @INC@INC Perl - 无法在 @INC 中找到 Class/CSV.pm
【发布时间】:2019-07-12 08:56:52
【问题描述】:

我目前正在尝试使用以下三个类之一创建/生成 CSV 文件:

use Class::CSV;
use Text::CSV;
use Text::CSV_XS;

虽然当我尝试运行它时,为了检查我的代码,我得到了相同的错误消息:

Can't locate Class/CSV.pm in @INC (@INC contains: C:/Per/site/lib C:/Perl/lib .) at C:\Users\<DIRECTORY> - <DIRECTORY>.file.pl line1

我已经尝试搜索这些文件,但我没有任何运气。有没有其他人遇到过这个问题?我查看了目录,CSV.pm 文件确实存在。

【问题讨论】:

    标签: perl


    【解决方案1】:

    假设您的系统上安装了Class::CSV,则您的库搜索路径不完整。 (您的错误消息将 C:/Per/site/lib 列为搜索库,这看起来像是 C:/Perl/site/lib 的拼写错误,您可能需要查看。)

    您需要找到库所在的正确CSV.pm 文件。例如,如果在以下位置找到它:

    C:/Perl/lib/foo/Class/CSV.pm
    

    那么您有以下选项之一。

    1. 修改 Perl 或调用的环境以便设置(假设我的 Windows 技能尚未完全过期,如果我的语法错误,请随时编辑和更正):

      PERL5LIB=%PERL5LIB%;C:/Perl/lib/foo
      
    2. 你可以使用-I选项给perl添加路径:

      perl -IC:/Perl/lib/foo my-app.pl
      
    3. 可以在程序本身使用use lib命令添加搜索路径:

      use lib 'C:/Perl/lib/foo';
      use Class::CSV;
      # etc.
      

    【讨论】:

    • 谢谢,我是 Perl 新手,所以我想弄清楚这一切。
    • 没问题。我喜欢帮忙。不幸的是,并不是所有的 Perl 黑客(甚至在这个网站上)都有耐心与试图解决这个问题的人打交道。我向您推荐 Perl 并坚持到底。我想你会发现使用它是有益的。干杯。
    【解决方案2】:

    您可能没有安装这些模块。

    在你的 shell 中运行它

    perl -MCPAN -e shell
    

    然后运行

    install Class::CSV
    

    我假设您在 CPAN 上找到了这些课程

    【讨论】:

    • 是的,我确实在 CPAN 上获得了这些课程,其他所有课程都有效,除了这些课程之外,出于某种原因。
    • 你现在通过这个运行你所有的 Perl 脚本吗?这是做什么的??
    • 您确定安装正确吗?再次尝试安装以查看 CPAN 是否将模块识别为已安装。
    • 重新安装@INC环境还是重新解压类文件?
    • 尝试再次安装 CPAN 模块,看看它是否会尝试。如果它再次尝试安装模块,它第一次没有正确安装,否则它会告诉你它已经正确安装并给你一个版本号。我敢打赌它没有正确安装,因为你找不到文件并且你得到一个@INC错误。
    【解决方案3】:

    你可以简单地运行以下命令

    perl -MCPAN -e 'install Class::CSV'
    

    运行 install Class::CSV 在 CPAN 外壳中。

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 2020-10-14
      • 2013-05-19
      • 2011-09-11
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2012-09-12
      • 1970-01-01
      相关资源
      最近更新 更多