2

コハの依存関係をインストールしています。これにはperlとcpanの使用が必要ですが、これは初めてです。hivelogicの指示に従ってmysqlをインストールしました。32ビットMacminiで10.6.2を実行しています。

ターミナル出力は次のとおりです。

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
4

3 に答える 3

6

手がかりはあなたの引用された出力のこの行にありました:

    @INCでDBI/DBD.pmが見つかりません...

Perlで開発すると、このタイプのエラーが頻繁に発生します。これは、通常、モジュールがCPANからインストールされていないために、モジュールの依存関係が欠落していることを意味します。

したがって、 DBD::mysqlの前に最初にDBI::DBDをインストールする必要があります。これが前提条件として自動的にインストールされないのには、いくつかの複雑な理由があります(通常、モジュールまたはディストリビューションをインストールするときに、すべての依存関係が自動的にインストールされます)。cpan

PREREQ_PMは、このモジュールにDBI(この場合はバージョン1.03)が必要であることをMakeMakerに通知します。これにより、誰かがDBI 1.03なしでDBDをインストールしようとすると、DBI1.03が欠落しているという警告が発行されます。DBIがインストールされていない場合に、モジュールに障害が発生するcpanテスターを停止する際にこれが確実に機能しない理由については、以下のCONFIGUREを参照してください。

CONFIGUREは、WriteMakefile中にMakeMakerによって呼び出されるサブルーチンです。このセクションにrequireDBI:: DBDを配置することで、DBI :: DBDのロードを試みることができますが、それが欠落している場合は、正常に終了します。DBI :: DBDが欠落しているときにMakefileを作成せずに正常に終了すると、cpanテスターは失敗を報告しません。これはPREREQ_PMと矛盾しているように見えるかもしれませんが、PREREQ_PMによってWriteMakefileが失敗することはありません(MakeMakerによって強く推奨されていないPREREQ_FATALも指定しない限り)。そのため、WriteMakefileは引き続きdbd_dbi_arch_dirを呼び出して失敗します。

次の方法で両方のモジュールを同時にインストールできます。

    sudo -H cpan DBI :: DBD DBD :: mysql
于 2010-01-20T01:38:50.480 に答える
1

私は夕方のほとんどをグーグルで検索し、DBD::mysqlを既存のosxperlインストールで動作させるためのさまざまな指示を試しました。私は進歩を遂げていませんでした、そして最終的にアクティブなperlをインストールしようとしました。perlパッケージマネージャー(ppm)が付属しています。そこから、純粋なperl mysqlドライバー(DBD :: mysqlPP)をインストールできます。これにより、コンパイルの問題がすべて回避されます。-DBD::mysqlではなくDBD::mysqlPPを使用するようにコードを変更してください-私の場合、これを変更しました:my $ dsn ='DBI:mysql:schemaName:localhost';

これに:my $ dsn ='DBI:mysqlPP:schemaName:localhost';

于 2011-05-19T06:14:44.087 に答える
0

最初にDBI.pmをインストールしてみてください。

于 2010-01-20T01:13:54.530 に答える