0

为了运行下面的代码,我已经安装了 CPAN 模块,但是我不断收到错误DBD::mysql消息: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;
4

2 回答 2

2

您的 CPAN 安装成功了吗?如果是这样,则该模块已安装在您正在运行的 Perl 版本的错误位置。

查看 CPAN 日志以查看DBD::mysql已安装的位置。答案就在那里,修复取决于它的安装位置以及为什么它不在您的 Perl 中@INC

你有多个 Perl 安装吗?

顺便说一句,你不必use DBD::mysqlDBI当您调用DBI->new指定 MySQL 源时,将自动加载它。这以在运行时加载驱动程序模块为代价来整理代码——这是一个很小的代价。

于 2013-12-05T20:03:50.593 回答
0

我通过执行以下操作解决了它:

将 libmysqlclient.18.dylib 复制到 /usr/lib/

此外,我的 Mac OS X 中有两种不同的 Perls。一种在 /usr/local/ActivePerl5.16/ 中,另一种在 /Systems/Library/Per/Perl5.12 中

于 2013-12-07T20:59:52.073 回答