FUJILOG

見た、聴いた、触れたこと。 動かしたもの、書いたもの。 ウェブとリアルの備忘録です。

フレームワーク学習 Plagger

日経ソフトウェア発行の「ずばりわかる!Web2.0プログラミング」誌を参照しつつ、
Plaggerを学習。

2006年前半期に公表されたフィードアグリゲーターなるものとのこと。
有名な参考記事は"「はらへった」とGoogle検索すると宅配ピザが届くシステム"が見つけられた。

大学院の研究で、Web上の情報を採取・加工するツールとして使えないか検討中。

本日はPlaggerのインストールにて(OSはVistaで頑張っています)。

前述の本を参考に
  1. ftp://ftp.microsoft.com/Softlib/MSLFILES/ftp://ftp.zlatkovic.com/pub/libxmlから必要なファイルをDL
  2. ppm経由で、Theoryx5リポジトリYamlモジュールをインストール
  3. Plaggerをインストール
という流れで進行。

項番1. 2. は難なく済んだものの、3.で混迷。。

以下Plaggerインストール手順です。

**参照URL

plaggerのつまづいた際は
http://www.otsune.com/fswiki/plagger.html#p26

CPANインストール他
http://digit.que.ne.jp/visit/index.cgi?2006%C7%AF2%B7%EE#pplagger「2006年2月28日」

plagger利用のおおまかな流れは
http://mion.jp/blog2/index.php?d=20060820
**

誌面にもあるように、plaggerppmでは0.7.14、CPANでは0.7.17と配布されるバージョンが異なります。
今回はCPANから0.7.17を利用。


CPAN経由でplaggerをインストール

CPAN起動コマンドは
perl -MCPAN -e shell

インストールは
force install Plagger(←モジュール名、forceはなくてもOK)
を入力。

(enter)キーをずっと反復し、224個のファイルをコピー完了
CPAN 終了 quit

次に、dir /b C:\Perl\CPAN\build\Plagger-*でassetsフォルダの存在を確認し
xcopy /I /E /H /Y c:\Perl\cpan\build\Plagger-0.7.17-diaVM0(←zero)\assets c:\Perl\site\lib\Plagger\assets  
でassetsフォルダをコピー 完了。

ここから誌面との相違が発生、、

C:\>plagger -v
でバージョン確認しようとするも失敗

エラーメッセージは「'plaggerは、内部コマンドまたは・外部コマンド'、操作可能なプログラムまたはバッチファイルとして認識されていません。」

plaggerをインストールしただけではコマンド認識されないことが調べて発覚。
plagger.batを作成することにした。


plagger.bat作成法

C:\>cd c:\perl\cpan\build\plagger-0.7.17-diaVM0
C:\Perl\cpan\build\Plagger-0.7.17-diaVM0>pl2bat plagger
を入力し、
plagger-0.7.17-diaVM0ディレクトリ下に作成された「plagger.bat」をperl\binへコピー。

これで先のエラーは解消。


plagger実行

いざplaggerを実行するもここでもエラー発生。

c:\>plagger
Can't locate Plagger.pm in @INC (@INC contains: C:\Perl\bin\lib C:/Perl/site/lib
C:/Perl/lib .) at C:\Perl\bin/plagger.bat line 21.
BEGIN failed--compilation aborted at C:\Perl\bin/plagger.bat line 21.

そういえば、先にインストールしたCPANディレクトリ下に該当ファイル「Plagger.pm」が
含まれていたことを思い出し、
C:\Perl\cpan\build\Plagger-0.7.17-diaVM0\lib から「Plagger.pm」ファイルをC:/Perl/site/libへコピーで対処(したつもり)。

再度、コマンドプロンプトにてc:\>plagger実行するも今度は
Can't locate XML/XPath.pm in @INC (@INC contains: C:\Perl\bin\lib ~)
のエラー発生。。


ここで、参照URLを調べると "Can't locate ○○.pm in @INC~"のメッセージは
○○のモジュールが欠けているor環境変数の設定に不備がある
のいずれかとのこと。

環境変数はとりあえず触れないでおき、先程と同様にCPAN起動、インストールを試みる。

CPAN起動し、install XML::XPathでインストール

CPANをquitで閉じ、
コマンドプロンプトにてplageerと入力すると、今度は

「c:\Perl\cpan\build\Plagger-0.7.17-diaVM0>plagger
Plagger::ConfigLoader->load: C:\Perl\cpan\build\Plagger-0.7.17-diaVM0\config.yam
l: No such file or directory at C:\Perl\cpan\build\Plagger-0.7.17-diaVM0\lib/Pla
gger.pm line 47」
と表示された。

plagger -vを入力すると

「c:\Perl\cpan\build\Plagger-0.7.17-diaVM0>plagger -v
Plagger version 0.7.17」

"Plagger version 0.7.17"の表示が確認され、Plagger実行環境が整ったと判断できた。


P.S.

後日再度plaggerを起動しようとしたところ、plagger -vの入力後
Can't locate Plagger/Cache.pm in @INC (@INC contains: C:\~)
のエラーが発生。

前回の方法(CPAN起動&モジュールインストール)で対処してみた。
何度か試したものの、メッセージが消えないので右往左往。。

結果
C:\Perl\cpan\build\Plagger-0.7.17-diaVM0\lib\Plaggerの中身(のフォルダ&ファイル)を
C:\Perl\site\lib\Plagger直下にコピペしたら治った。。