Не могу найти DBI.pm

Я пытаюсь запустить этот скрипт:

#!/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);

Когда я запускаю этот скрипт, я получаю эту ошибку:

Не удается найти файл DBI.pm в @INC (@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.ARCHREV_0-thread-multi /opt/perl_32/lib/vendor_perl/5.8.3 /opt/perl_32/lib/vendor_perl .) в строке./prova.pl 3.

У меня все установлено!! DBI.pm установлен!

6 ответов

Если у вас есть root, введите в консоли (Debian/Ubuntu):

sudo apt-get install libdbi-perl

Если у вас нет активного perl (и, следовательно, нет ppm), вы также можете получить DBI следующим образом:

perl -MCPAN -e 'install DBI'

Вам может понадобиться установить драйверы для Postgres следующим образом:

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

Для пользователей redhat/centos:

sudo yum -y install perl-DBI

DBI не в вашем @INC путь, который говорит Perl, где искать пользовательские модули. Это, вероятно, потому что вы установили их с помощью cpan инструмент от имени пользователя без полномочий root, у которого не будет доступа для записи к путям включения по умолчанию.

Вам нужно будет найти DBI.pm и другие пакеты, и переместите их в свой @INC дорожка.

Кроме того, найдите пакеты, которые вы установили, и добавьте путь установки в путь к вашей библиотеке, для одноразового использования:

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

И для более постоянного решения, добавьте это к ~/.bashrc:

export PERL5LIB=/path/to/modules

Для пользователей Arch Linux:

      sudo pacman -S perl-dbi

Для пользователей alpine используйте perl-dbi: apk add perl-dbi

Другие вопросы по тегам