2011-12-14 130 views
0

我无法在我的Mac上使用当前版本的perl中的DBI。当我尝试做一个简单的在perl中使用DBI时出错

my $database = "DBI:Pg:dbname=db;host=localhost"; 
my $db_user = "user"; 
my $db_pw = "pw"; 
my $dbh = DBI->connect($database, $db_user, $db_pw, {'RaiseError' => 1}); 

我收到以下错误:

install_driver(Pg) failed: Can't locate DBD/Pg.pm in @INC 
Perhaps the DBD::Pg perl module hasn't been fully installed, 
or perhaps the capitalisation of 'Pg' isn't right. 

我有我的机器上PERL的两个版本,但我相信我成功(使用CPAN)安装DBI上我正在使用的版本为

/Applications/apps/bin/perl -e "use DBI" 

不会返回错误。

不过,我还不能肯定我安装使用CPA的模块,因为它与该消息结束:

执行make install 化妆测试已返回坏地位,如果没有这个命令时失败力 不会安装: TURNSTEP/DBD-PG-2.18.1.tar.gz:make_test NO

我需要做其他的东西比

sudo cpan DBD:PG 

,如果我有P的多个版本erl在我的机器上?

更新:我有一个拼写错误,应该一直在做一个sudo CPAN DBI。我已经做到了,但我仍然遇到同样的错误。

+1

是的,你需要不同的东西。首先要尝试拼写正确的名称:-) sudo cpan DBD :: Pg(如果你在你的文章中引入了一个错字,那么对你重新输入而不是复制/粘贴) – tadmc 2011-12-14 01:45:05

回答

1

我在这里猜测,因为你没有用完整的错误信息显示CPAN的整个输出。

我怀疑原因就像绝大多数情况下,你忽略了安装PostgreSQL的开发头文件。