【问题标题】:Error using DBI in perl在 perl 中使用 DBI 时出错
【发布时间】: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


【解决方案1】:

我在这里猜测是因为您没有显示带有完整错误消息的 CPAN 的整个输出。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-29
    • 2015-05-08
    • 1970-01-01
    • 2015-09-28
    • 2014-12-12
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    相关资源
    最近更新 更多