运行Perl脚本时在文本/ CSV.pm上出现错误

问题描述:

运行从Oracle DB抓取内容并将结果导出为CSV的Perl脚本时,在尝试通过命令行运行时出现此错误:运行Perl脚本时在文本/ CSV.pm上出现错误

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. 

任何人都可以阐明我的问题的一些光,以及如何解决这个问题?

+2

'的/ usr /斌/ perl的-MCPAN -e'install Text :: CSV'' – 2014-10-06 15:08:14

+2

你是一个BOSS! Noob Side注意:如果我之前是root的话,会让它变得更容易...谢谢! – NerdyBird 2014-10-06 15:14:37

如果要安装与CPAN模块,语法是

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

没有扩展需要

所以你需要

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

否则CPAN会为一个模块调用文本搜索: :CSV_pm,这显然不存在。

perl -MCPAN -e shell 

这是最好的root权限运行它(即sudo perl -MCPAN -e shell)如果你想更新系统Perl或:

您也可以交互模块,这是一个小更友好的使用CPAN设置cpan,以便它写入您拥有的目录(例如您的主目录)。

+0

这应该是仅在Windows的首选。我不会推荐从CPAN在Linux中进行安装。改为使用分发存储库。来自CPAN的库的版本可能不完全与Linux版本库和Perl库中的版本兼容。为了保持一致,应该从本地Linux存储库安装所有东西。只要有可能。通过这种方式,所有相关模块都可以保证一起运行。 – 2015-04-10 14:24:25

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

对于基于Ubuntu的Debian的/系统:

$ sudo apt-get install libtext-csv-perl 

对于一个RedHat /基于Fedora的-的Centos /系统:

$ sudo yum install perl-Text-CSV