【发布时间】:2011-12-14 01:37:04
【问题描述】:
我无法在我的 Mac 上的当前版本的 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 make test 已返回错误状态,不强制安装 在此命令期间失败: TURNSTEP/DBD-Pg-2.18.1.tar.gz:make_test NO
除了a之外我还需要做点什么吗
sudo cpan DBD:PG
如果我的机器上有多个版本的 Perl?
更新:我拼错了,应该做一个 sudo CPAN DBI。我已经这样做了,但我仍然遇到同样的错误。
【问题讨论】:
-
是的,你需要一些不同的东西。首先要尝试正确拼写名称:-) sudo cpan DBD::Pg (如果您在帖子中引入了错字,那么您会因为重新输入而不是复制/粘贴而感到羞耻)
-
(1)
find /usr /Applications -type f -name Pg.pm,(2)/Applications/apps/bin/perl /path/to/your/script.pl的输出是什么? -
当您尝试使用 CPAN 安装它时收到的消息说有错误,它不会安装 DBD::Pg。您需要修复 CPAN 在尝试安装 DBD::Pg 时提到的任何错误。
标签: macos perl postgresql