找不到DBI.pm

时间:2013-12-13 14:25:14

标签: perl perl-module

我正在尝试启动此脚本:

#!/usr/bin/perl 

use DBI;

my $dbh = DBI->connect( 'dbi:Oracle:host=lonlin2;sid=TIMFX1AD;port=1524','xbsesdbo','xbsesdbo123' )  || die ( $DBI::errstr . "\n" );

my $query= "SELECT * FROM product_elements WHERE element_id = 1001";
my $queryHandler= $dbh->prepare($query);

my $result= $queryHandler->execute();


open(fileHandler,"> note.txt");

print fileHandler "Risultato query: $result\n";

my $e= $dbh->disconnect();
close(fileHandler);

当我启动此脚本时,我收到此错误:

  

无法在@INC中找到DBI.pm(@INC包含:/opt/perl_32/lib/5.8.3/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/5.8.3 / opt / perl_32 /lib/site_perl/5.8.3/IA64.ARCHREV_0-thread-multi /opt/perl_32/lib/site_perl/5.8.3 / opt / perl_32 / lib / site_perl /opt/perl_32/lib/vendor_perl/5.8.3/IA64 ./prova.pl第3行.ARCHREV_0-thread-multi /opt/perl_32/lib/vendor_perl/5.8.3 / opt / perl_32 / lib / vendor_perl。)。

我已经安装好!! DBI.pm已安装!!

5 个答案:

答案 0 :(得分:28)

如果您有root用户,请键入console(Debian / Ubuntu):

sudo apt-get install libdbi-perl

答案 1 :(得分:5)

如果你没有活动的perl(因此没有ppm),你也可以得到这样的DBI:

perl -MCPAN -e 'install DBI'

您可能需要安装Postgres的驱动程序,如下所示:

perl -MCPAN -e 'install DBD::Pg'

答案 2 :(得分:3)

对于redhat / centos用户:

sudo yum -y install perl-DBI

答案 3 :(得分:2)

DBI不在您的@INC路径中,它告诉perl在哪里查找自定义模块。这可能是因为您使用cpan工具作为非root用户安装它们,它们不具有对默认包含路径的写访问权。

您需要找到DBI.pm和其他软件包,然后将其移至@INC路径。

或者,找到您已安装的软件包并将安装路径添加到库路径中,一次性使用:

PERL5LIB=/path/to/modules perl yourscript.pl

要获得更持久的解决方案,请将其添加到~/.bashrc

export PERL5LIB=/path/to/modules

答案 4 :(得分:0)

对于 alpine 用户使用 perl-dbiapk add perl-dbi