2010-01-20 120 views
2

我正在安裝Koha的依賴關係。這需要perl和cpan的使用,這是我第一次使用。我通過hivelogic指令安裝了mysql。我在32位Mac mini上運行10.6.2。cpan install模塊DBD :: mysql失敗,雪豹

這裏是終端輸出:

John-Breedloves-Mac-mini:~ john_breedlove$ sudo -H cpan -i DBD::mysql 
CPAN: Storable loaded ok (v2.19) 
Going to read /var/root/.cpan/Metadata 
    Database was generated on Tue, 19 Jan 2010 14:52:55 GMT 
Running install for module 'DBD::mysql' 
CPAN: YAML loaded ok (v0.71) 
Running make for C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz 
CPAN: Digest::SHA loaded ok (v5.48) 
CPAN: Time::HiRes loaded ok (v1.9715) 
    LWP not available 

Trying with "/usr/bin/curl -L -f -s -S --netrc-optional" to get 
    http://www.perl.org/CPAN/authors/id/C/CA/CAPTTOFU/CHECKSUMS 
Checksum for /var/root/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz ok 
x DBD-mysql-4.013/ 
x DBD-mysql-4.013/lib/ 
x DBD-mysql-4.013/lib/DBD/ 
x DBD-mysql-4.013/lib/DBD/mysql.pm 
x DBD-mysql-4.013/lib/DBD/mysql/ 
x DBD-mysql-4.013/lib/DBD/mysql/GetInfo.pm 
x DBD-mysql-4.013/lib/DBD/mysql/INSTALL.pod 
x DBD-mysql-4.013/lib/Bundle/ 
x DBD-mysql-4.013/lib/Bundle/DBD/ 
x DBD-mysql-4.013/lib/Bundle/DBD/mysql.pm 
x DBD-mysql-4.013/mysql.xs 
x DBD-mysql-4.013/dbdimp.c 
x DBD-mysql-4.013/myld 
x DBD-mysql-4.013/INSTALL.html 
x DBD-mysql-4.013/Makefile.PL.embedded 
x DBD-mysql-4.013/TODO 
x DBD-mysql-4.013/README 
x DBD-mysql-4.013/MANIFEST.SKIP 
x DBD-mysql-4.013/ChangeLog 
x DBD-mysql-4.013/Makefile.PL 
x DBD-mysql-4.013/META.yml 
x DBD-mysql-4.013/dbdimp.h 
x DBD-mysql-4.013/eg/ 
x DBD-mysql-4.013/eg/prepare_memory_usage.pl 
x DBD-mysql-4.013/eg/proc_example2b.pl 
x DBD-mysql-4.013/eg/proc_example2.pl 
x DBD-mysql-4.013/eg/decimal_test.pl 
x DBD-mysql-4.013/eg/bug30033pg.pl 
x DBD-mysql-4.013/eg/proc_example2a.pl 
x DBD-mysql-4.013/eg/proc_example4.pl 
x DBD-mysql-4.013/eg/bug21028.pl 
x DBD-mysql-4.013/eg/bug14979.pl 
x DBD-mysql-4.013/eg/bug30033.pl 
x DBD-mysql-4.013/eg/issue21946.pl 
x DBD-mysql-4.013/eg/proc_example3.pl 
x DBD-mysql-4.013/eg/proc_example1.pl 
x DBD-mysql-4.013/constants.h 
x DBD-mysql-4.013/t/ 
x DBD-mysql-4.013/t/85init_command.t 
x DBD-mysql-4.013/t/40listfields.t 
x DBD-mysql-4.013/t/40bindparam.t 
x DBD-mysql-4.013/t/mysql.mtest 
x DBD-mysql-4.013/t/41bindparam.t 
x DBD-mysql-4.013/t/76multi_statement.t 
x DBD-mysql-4.013/t/40nulls.t 
x DBD-mysql-4.013/t/32insert_error.t 
x DBD-mysql-4.013/t/40catalog.t 
x DBD-mysql-4.013/t/51bind_type_guessing.t 
x DBD-mysql-4.013/t/40bindparam2.t 
x DBD-mysql-4.013/t/41blobs_prepare.t 
x DBD-mysql-4.013/t/20createdrop.t 
x DBD-mysql-4.013/t/70takeimp.t 
x DBD-mysql-4.013/t/42bindparam.t 
x DBD-mysql-4.013/t/00base.t 
x DBD-mysql-4.013/t/55utf8.t 
x DBD-mysql-4.013/t/65types.t 
x DBD-mysql-4.013/t/40server_prepare_error.t 
x DBD-mysql-4.013/t/31insertid.t 
x DBD-mysql-4.013/t/29warnings.t 
x DBD-mysql-4.013/t/40types.t 
x DBD-mysql-4.013/t/10connect.t 
x DBD-mysql-4.013/t/lib.pl 
x DBD-mysql-4.013/t/mysql.dbtest 
x DBD-mysql-4.013/t/35limit.t 
x DBD-mysql-4.013/t/71impdata.t 
x DBD-mysql-4.013/t/40blobs.t 
x DBD-mysql-4.013/t/40server_prepare.t 
x DBD-mysql-4.013/t/40numrows.t 
x DBD-mysql-4.013/t/35prepare.t 
x DBD-mysql-4.013/t/40keyinfo.t 
x DBD-mysql-4.013/t/75supported_sql.t 
x DBD-mysql-4.013/t/60leaks.t 
x DBD-mysql-4.013/t/50commit.t 
x DBD-mysql-4.013/t/30insertfetch.t 
x DBD-mysql-4.013/t/50chopblanks.t 
x DBD-mysql-4.013/t/25lockunlock.t 
x DBD-mysql-4.013/t/80procs.t 
x DBD-mysql-4.013/MANIFEST 
CPAN: File::Temp loaded ok (v0.20) 

    CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.013.tar.gz 

Can't locate DBI/DBD.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level /opt/local/lib/perl5/site_perl/5.8.9 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.9 /opt/local/lib/perl5/vendor_perl /opt/local/lib/perl5/5.8.9/darwin-2level /opt/local/lib/perl5/5.8.9 .) at Makefile.PL line 24. 
Warning: No success on command[/opt/local/bin/perl Makefile.PL] 
    CAPTTOFU/DBD-mysql-4.013.tar.gz 
    /opt/local/bin/perl Makefile.PL -- NOT OK 
Running make test 
    Make had some problems, won't test 
Running make install 
    Make had some problems, won't install 
+0

重複的http://superuser.com/questions/98822/mac-os-x-10-6-2-install-dbdmysql – Ether

回答

6

線索在這一行你引述的輸出:

 
    Can't locate DBI/DBD.pm in @INC... 

你會看到這種類型的錯誤,你在Perl開發了很多!這意味着您缺少模塊依賴項,通常是因爲該模塊尚未從CPAN安裝。

因此,你需要DBD::mysql之前安裝DBI::DBD第一。有some complicated reasons這是爲什麼不自動安裝cpan作爲先決條件(安裝模塊或分佈通常情況下,它會自動安裝所有依賴):

PREREQ_PM告訴MakeMaker的是DBI(在這種情況下,1.03版)是此模塊所必需的。如果有人試圖在沒有DBI 1.03的情況下安裝DBD,將會發出DBI 1.03丟失的警告。請參閱下面的配置,瞭解爲什麼在未安裝DBI的情況下停止cpan測試程序失敗時,無法可靠地工作。

CONFIGURE是WriteMakefile期間的MakeMaker調用的子程序。通過在本節中放入需要的DBI :: DBD,我們可以嘗試加載DBI :: DBD,但如果缺少,我們會成功退出。當我們在DBI :: DBD丟失的情況下成功退出而沒有創建Makefile時,cpan測試人員不會報告失敗。這可能與在但PREREQ_PM賠率PREREQ_PM似乎並沒有引起WriteMakefile失敗(除非您還指定PREREQ_FATAL這是強烈的MakeMaker氣餒),所以WriteMakefile將繼續看漲dbd_dbi_arch_dir和失敗。

您可以一次與安裝兩個模塊:

 
    sudo -H cpan DBI::DBD DBD::mysql 
0

嘗試第一安裝DBI.pm。

1

我度過了一個最一個晚上googleing,並試圖在各個方向得到DBD :: mysql的我現有的OSX Perl安裝工作。我沒有取得進展,最後嘗試安裝活動的Perl。它帶有一個perl包管理器(ppm)。從那裏,你可以安裝一個純粹的perl mysql驅動程序(DBD :: mysqlPP),並繞過所有的編譯頭痛。 - 只是一定要改變你的代碼,使用DBD :: mysqlPP而不是DBD :: mysql的 - 在我的情況,我改變了這個 : 我的$ DSN = 'DBI:mysql的:SCHEMANAME:本地主機';

這樣: 我的$ DSN = 'DBI:mysqlPP:SCHEMANAME:本地主機';