- ベストアンサー
DBD::mysql モジュール
Perl から MySQL サーバへ接続するため、DBI モジュールを使用しようと思ったのですが、次のエラーメッセージが出て使用できませんでした。 ---------- install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains: C:/Perl/site/lib C:/Perl/lib .) at (eval 4) line 3. Perhaps the DBD::mysql perl module hasn't been fully installed, or perhaps the capitalisation of 'mysql' isn't right. Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysqlPP. at test.pl line 46 ---------- そこで、コマンドプロンプトから CPAN 経由で DBD::mysql モジュールをインストールしようとしたのですが、「Warning: No success on command[C:\Perl\bin\perl.exe Makefile.PL]」というメッセージが表示され、インストールに失敗してしまいます。 何が原因なのでしょうか? 解決策をお教え頂ければ幸いです。宜しくお願い致します。 以下にコマンドプロンプトの表示文を示します。 ---------- CPAN: File::Temp loaded ok (v0.18) CPAN: YAML loaded ok (v0.66) CPAN.pm: Going to build C/CA/CAPTTOFU/DBD-mysql-4.006.tar.gz Failed to determine directory of mysql.h. Use perl Makefile.PL --cflags=-I<dir> to set this directory. For details see the INSTALL.html file, section "C Compiler flags" or type perl Makefile.PL --help Warning: No success on command[C:\Perl\bin\perl.exe Makefile.PL] CAPTTOFU/DBD-mysql-4.006.tar.gz C:\Perl\bin\perl.exe Makefile.PL -- NOT OK Running make test Make had some problems, won't test Running make install Make had some problems, won't install ---------- OS : Microsoft Windows XP Home Edition Version 2002 Service Pack 2 perl : ActivePerl v5.10.0 built for MSWin32-x86-multi-thread
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
sakusaker7さん、レスありがとうございます。 ActivePerl 5.8.8から5.10.0をインストールして、 >ppm search DBD::Mysql を試しました。バージョンは4と表示がありました。しかし、PPMのGUI上では、まだ3と表示されいました。 とりあえず、ppm install DBD::Mysqlを試してみましたが、DBIのエラーが出ました。 次に以下のURLの事を試して見ました。基本的には、/http://theoryx5.uwinnipeg.ca/ppms/をPPMのGUI上からPREFERENCEに足すと、このURLからバージョン4をインストールしてくれるとの事です。試した結果は成功でした。
その他の回答 (3)
- sakusaker7
- ベストアンサー率62% (800/1280)
とりあえず、いきなり install する前に search してみてください。 素の ActivePerl 5.10.0でこうなりました。 >ppm search DBD::Mysql Downloading ActiveState Package Repository packlist...not modified 1: DBD-mysql-informationschema Perl module to access the mysql INFORMATION_SCHEMA view, which contains datab ase metadata. Version: 0 Author: Gerry Lawrence (gwlperl@gmail.com) Provide: Bundle::DBD::mysql version 4.004 Provide: DBD::mysql version 4.004 Provide: DBD::mysql::GetInfo Provide: DBD::mysql::informationschema version 0.01 Provide: Mysql version 1.2401 Provide: Mysql::Statement version 1.2401 Repo: ActiveState Package Repository CPAN: http://search.cpan.org/dist/DBD-mysql-informationschema-0/ Syncing site PPM database with .packlists...done
補足
ご回答ありがとうございます。 ActivePerl v5.10.0 をインストールし直して実行してみました。 以下のようになります。 ---------- 1: DBD-mysql-informationschema Perl module to access the mysql INFORMATION_SCHEMA view, which contains datab ase metadata. Version: 0 Author: Gerry Lawrence (gwlperl@gmail.com) Provide: Bundle::DBD::mysql version 4.004 Provide: DBD::mysql version 4.004 Provide: DBD::mysql::GetInfo Provide: DBD::mysql::informationschema version 0.01 Provide: Mysql version 1.2401 Provide: Mysql::Statement version 1.2401 Repo: ActiveState Package Repository CPAN: http://search.cpan.org/dist/DBD-mysql-informationschema-0/ Installed: 0 (site)
- fusafumi
- ベストアンサー率100% (1/1)
はじめまして。 自分も、XP HOME上でApache + mySQL 5.0 + ActivePerl v5.10.0 + DBI + DBD::mysqlで開発を行っています。自分もまだまだ初心者なのであまり詳しくはない(分かってない部分が多いのですが)のですが、同じような問題に遭遇しています。 >試してみたのですが、どうやら ppm に DBD-mysql が無いようです。ppm のバージョンは 4.01 です。 とありますが、自分は、PPMを立ち上げて、PPMからDBD::mysqlの3.0002バージョンをインストールする事ができ、mySQLへの操作はできるようになりました。PPM上にはどのバージョンのDBD-mysqlも表示されていませんか? また、 >ppm のバージョンは 4.01 です。 とありますが、これはどこに4.01 バージョンを見つけましたか? CPAN経由でDBIとDBD::mysqlをインストールしようとしましたが、エラーが出て(ここに表示されているエラーとは別のエラー)、インストールできませんでした。ですので、両方ともPPMからのインストールを行い、正常にインストールできました。 あまりお役にたてませんが、、; (
補足
ご回答ありがとうございます。 GUI の ppm のリストには、DBD-mysql 自体が載っていない状況です ( All Packages を表示する設定にしています ) 。 ppm のバージョンは、GUI のメニューから「 Help 」 -> 「 About 」で調べました。 なお、質問内容のようなエラーが出る前に、"nmake -- NOT OK" や "YAML not installed" のようなエラーが出たので、それらをインストールした経緯があります。
- t-okura
- ベストアンサー率75% (253/335)
ActivePerl でしたら、ppm で ActivePerl 社が提供する DBD::mysql を インストールすればよいのではないでしょうか。 参考 URL のバイナリインストールのところを見てください。 ソースからインストールするには C コンパイラが必要だと思います。
補足
ご回答有難うございます。 試してみたのですが、どうやら ppm に DBD-mysql が無いようです。 ppm のバージョンは 4.01 です。 お教え頂いたサイトを参考にし、次のようなコマンドも実行したのですが、結局インストールできませんでした。 ---------- >ppm-shell ppm 4.01 Copyright (C) 2007 ActiveState Software Inc. All rights reserved. ppm> install DBD-mysql ppm install failed: Can't find any package that provides DBD-mysql ppm> rep add PPM2 http://ppm.activestate.com/PPMPackages/5.6plus/ Downloading PPM2 packlist...done Updating PPM2 database...done Repo 3 added. ppm> install DBD-mysql ppm install failed: Can't find any package that provides DBD-mysql ---------- ppm のバージョンによって提供されていないということでしょうか? お手数ですがご教示ください。宜しくお願い致します。
お礼
http://cpan.uwinnipeg.ca/PPMPackages/10xx/ 上記のリポジトリを ppm の GUI メニューの 「 Edit 」 -> 「 Preferences 」 -> 「 Repositories 」 タブから追加して、DBD-mysql をインストールすることに成功しました。 ご回答ありがとうございました。