2010-01-20 121 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:本地主机';