2011-12-14 69 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的開發頭文件。