【问题标题】:Getting Error on Text/CSV.pm when running Perl Script [duplicate]运行 Perl 脚本时出现 Text/CSV.pm 错误 [重复]
【发布时间】:2014-11-30 21:00:06
【问题描述】:

当运行从 Oracle DB 获取内容并将结果导出到 CSV 的 Perl 脚本时,我在尝试通过命令行运行时遇到此错误:

Can't locate Text/CSV.pm in @INC (@INC contains:
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2
/usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.16.2
/usr/lib/perl5/5.16.2/x86_64-linux-thread-multi /usr/lib/perl5/5.16.2
/usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.16.2 /usr/lib/perl5/site_perl .) at
./OracleScript.pl line 4. BEGIN failed--compilation aborted at
./OracleScript.pl line 4.

我将此解释为模块未安装。因此,我尝试使用以下命令安装它:

/usr/bin/perl -MCPAN -e'install Text::CSV_pm'

我收到此错误:

Database was generated on Mon, 06 Oct 2014 10:41:02 GMT Warning:
Cannot install Text::CSV_pm, don't know what it is. Try the command

    i /Text::CSV_pm/

to find objects with matching identifiers.

谁能解释我的问题,以及如何解决这个问题?

【问题讨论】:

  • /usr/bin/perl -MCPAN -e'install Text::CSV'
  • 你是BOSS!菜鸟旁注:如果我早点成为 root 会更容易...谢谢!

标签: linux oracle perl command-line


【解决方案1】:

鉴于您使用的是 Perl 系统(从评论看来,您似乎拥有 root 权限),那么最简单的方法可能是安装为您的 Linux 发行版预先构建的软件包。

对于基于 Debian/Ubuntu 的系统:

$ sudo apt-get install libtext-csv-perl

对于基于 RedHat/Centos/Fedora 的系统:

$ sudo yum install perl-Text-CSV

【讨论】:

    【解决方案2】:

    如果您使用 CPAN 安装模块,则语法为

    perl -MCPAN -e'install Module::Name'
    

    无需扩展

    所以你需要

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

    否则 CPAN 将搜索一个名为 Text::CSV_pm 的模块,该模块(显然)不存在。

    你也可以在交互模块中使用cpan,更友好一点:

    perl -MCPAN -e shell
    

    如果您尝试更新系统 perl,最好以 root 身份运行它(即sudo perl -MCPAN -e shell),或者设置 cpan 以便它写入您拥有的目录(例如您的主目录)。

    【讨论】:

    • 这应该只在 Windows 中首选。我不建议在 linux 中从 CPAN 安装。请改用分发存储库。 CPAN 中的库版本可能与 Perl 版本和 linux 存储库中的库不完全兼容。为了保持一致,所有东西都应该从本机 linux 存储库安装。只要有可能。这样可以保证所有依赖模块都能很好地协同工作。
    • 我不会使用这种方法来安装 Perl 模块(有更好的技术可以让您更好地控制该过程),但它回答了用户提出的具体问题。
    猜你喜欢
    • 2015-12-01
    • 2020-12-19
    • 2019-05-12
    • 2021-03-17
    • 2019-08-23
    • 2020-08-02
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多