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 の .xml にない理由によって異なります@INC

Perl を複数インストールしていますか?

ちなみに、する必要はありませんuse DBD::mysql。MySQLソースを指定しDBIて呼び出すと、自動的にロードされます。DBI->newこれにより、実行時にドライバー モジュールをロードするという犠牲を払ってコードが整頓されます。

于 2013-12-05T20:03:50.593 に答える