Perlのアドオンモジュール集であるCPANを使ってみることに。ちなみに、MacOS XデフォルトのPerlにもCPANモジュールは入っているが、MacPortsで入れたCPANモジュールを使うことにする。% su -% /opt/local/bin/cpan
ここで設定をゴチャゴチャと行う。ほぼデフォルトでOKだが、MacOS Xの端末アプリはUTF-8がデフォルト文字セットなので、文字セットを「ISO-8859-1?」と聞かれたらnoと答える。CPANアーカイブは、Asia→Japanと指定し、適当にアーカイブサイトを選ぶ。これは恐らくネットワーク的な距離と好みによって変わって良いと思う。
さて、色々と答えるとCPANの設定が完了してプロンプトが返ってくる。
cpan>
ここでまずは以下のコマンドを叩く。正直、意味は良く分からない(←おい)
cpan> install Module::Install
Running install for module Module::InstallRunning make for A/AD/ADAMK/Module-Install-0.79.tar.gz Is already unwrapped into directory /var/root/.cpan/build/Module-Install-0.79 Makefile.PL returned status 65280Running make test Make had some problems, maybe interrupted? Won't testRunning make install Make had some problems, maybe interrupted? Won't installああ、、、なんかエラーが。。。激しく意気消沈。
気を取り直して、本来入れたかったLWP::UserAgentを入れてみることに。
cpan> install LWP::UserAgent
あれ、なんかフツーに入った。何故だろう(汗
更にCrypt::SSLeayを入れる。
cpan> install Crypt::SSLeay
SSLがある場所を聞かれただけで、フツーに入った。Live testも問題なし。
前の日記でCPANにDBD::mysqlをインストールしたが、その際にはビルドエラーが発生する場合がある。ちなみに、私の場合は発生した。解決方法に関しては、[[mac][perl]Mac OS XにDBD::mysqlをインストールする]を参考にさせて頂く。もしかすると、MacOS XでPerlとDBD::mysqlを使う場合特有の問題かも知れない。
ちなみに、"DBD::MySQL"の様にMySQLとキャピタリゼーションして表記するのは間違いの様だ。"DBD::mysql"と小文字で書くのが正しい。
私のMacBookは、主としてドキュメント作成と画像編集にしか使っておらず、以前は仕事でプログラムも書いたのだがそれでもPHPやJavaで事足りていた。しかし、最近になってDBアクセスも含めてPerlを使いこなす必要が生じた為、急遽環境を整備する必要に。
PerlのDBアクセスはDBIというフレームワークを使うのが一般的で、私のMacにも既にPerlとDBIはインストールされている。しかし、MySQLへ接続する為の個別のモジュール(DBD)が無い為、CPANを使ってDBD::MySQLを入れることにする。
私はPerl歴は結構長いのだがCPANはあまり使ったことが無かったので、[CPAN経由でLinuxにモジュールを組み込む]を参考にさせて頂き、CPANをチェックしてみる。
% perl -MCPAN -e shell
すると、手動でのCPAN設定が開始される。ここで気付いたのが、CPANに必要なlynxやwget等のツールが無いということ。通常のMacOS X向けのユニバーサルバイナリを探したのだが、ネット上にはtar-ballからのインストール情報が溢れていたので、気を取り直してMacPortsを使うことにする。
というか、MacBookを使い始めてもう1年半以上経つのに、未だにMacPortsを入れていないことがバレてしまった。。。UNIX使いとして失格である。
さて、MacPortsというパッケージシステム自体はユニバーサルバイナリで提供されている為、MacPortsのサイトからダウンロードする。
画面左側のメニューから[Installing MacPorts]をクリックし、画面右側のリンク[Leopard (Universal)]をダウンロードし、MacPortsをインストールする。但し、画面右側の下部に記載されている様に、MacOS X 10.5 LeopardではXcode 3.0がインストールされている必要がある。私のMacBookには既にインストールされているので問題ないが、未導入の場合はMacBook付属のCD-ROMからインストールする必要がある。
MacPortsが入ったら、後はターミナルで操作を行う。
MacPortsでインストールしたいパッケージ(hoge)を検索する際:
% port search hoge
MacPortsでパッケージ(hoge)のオプションを検索する際:
% port variants hoge
MacPortsでパッケージ(hoge)をインストールする際:
% sudo port install hoge
後は、MacPortsを使って必要なコマンドをインストールする。注意点としては、CPANが要求するコマンド名と、MacPortsのパッケージ名が必ずしも一致しない事だ。lynxコマンドやwgetコマンドはパッケージ名もlynx及びwgetだが、ncftpgetコマンドのパッケージ名はncftpであり、gpgコマンドのパッケージ名はgnupgだ。後は設定に関する質問に答えていけば、CPANの設定は完了する。
CPANの設定が完了するとCPANのコマンドラインプロンプトが表示されるので、やっと念願であったDBD::MySQLのインストールが出来る。インストールは以下のコマンドで実行する。
cpan> install Bundle::DBD::MySQL
ちなみに、このインストール作業中にCPAN自体のアップデート(?)も推奨されるので、以下のコマンドも実行する。
cpan> install Bundle::CPAN
cpan> reload cpan
以上で(やっとこさ) PerlスクリプトからMySQLに接続する準備が整った。さて、書くか。。。