我已经通过DBD::mysql
安装了CPAN模块sudo cpan install DBD::mysql
以运行下面的代码,但是我不断收到错误消息:
Can't locate loadable object for module DBD::mysql in @INC (@INC contains:
/sw/lib/perl5/5.12.3/darwin-thread-multi-2level
/sw/lib/perl5/5.12.3
/sw/lib/perl5/darwin-thread-multi-2level
/sw/lib/perl5
/sw/lib/perl5/darwin
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3/darwin-thread-multi-2level
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12
.
)
at dbi_write.pl line 11
Compilation failed in require at dbi_write.pl line 11.
BEGIN failed--compilation aborted at dbi_write.pl line 11.
这是我的代码
#!/usr/bin/perl
#use lib '/usr/bin/cpan';
use strict;
use FileHandle;
use File::Spec;
use DBI;
use DBD::mysql;
答案 0 :(得分:2)
您的CPAN安装成功了吗?如果是这样,那么该模块已安装在您正在运行的Perl版本的错误位置。
查看CPAN日志以查看已安装DBD::mysql
的位置。答案就在那里,修复取决于它的安装位置以及为什么它不在你的Perl @INC
中。
你有多个Perl安装吗?
顺便说一句,您没有use DBD::mysql
。当您调用DBI
指定MySQL源时,DBI->new
会自动加载它。这会以运行时加载驱动程序模块为代价来整理代码 - 这是一个很小的代价。
答案 1 :(得分:0)
我通过以下方式解决了这个问题:
将libmysqlclient.18.dylib复制到/ usr / lib /
此外,我的Mac OS X中有两个不同的Perls。一个位于/usr/local/ActivePerl5.16/,另一个位于/Systems/Library/Per/Perl5.12