2014-10-06 96 views
1

運行從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

回答

5

如果要安裝與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

6

鑑於您使用的是系統Perl(並且從評論看來您有root用戶),那麼最簡單的方法可能是安裝預先爲您的Linux發行版構建的軟件包。

對於基於Ubuntu的Debian的/系統:

$ sudo apt-get install libtext-csv-perl 

對於一個RedHat /基於Fedora的-的Centos /系統:

$ sudo yum install perl-Text-CSV 
相關問題