perlのXML::RSSモジュールのインストールですが
すんなりいかなかったのでメモ書きです。
環境は
OS:WindowsXP
perl:5.8.8
まず、CPANシェルから
>install XML::RSS
を実行したら
cl.exeコンポーネントが見つかりません
mspdb80.dllが見つからなかったため、このアプリケーションは解決できませんでした。
という警告メッセージが出て怒られた。
mspdb80.dllファイルを探してみると、D:\Program Files\Microsoft Visual Studio 8\Common7\IDEフォルダの中にあったのでこれを環境設定のpathに追加。
再度、インストールしたら何もエラーメッセージも出ずに実行を終了しました。
だけど、XML::RSSを使用したperlスクリプトを実行すると今度は下のエラーメッセージが。
(5行目のスクリプトはuse XML::RSS;です。)
Can't locate XML/RSS.pm in @INC (@INC contains: D:/Perl/site/lib D:/Perl/lib .)
at rss line 5.
BEGIN failed--compilation aborted at rss line 5.
ちょっと解らなかったのでネット上をごにょごにょ検索。
でも、同じような現象はいくつか報告されてるけど、解決方法まで書いてあるような情報がなかった・・・
(Linux,Unix環境ばっかりで(´・ω・`))
しようがないのでエラーメッセージにそのまま従ってみる事に。
RSS.pmを探してみるとCPAN/buildフォルダ内のRSS関連のところにあったので、このファイルをD:/Perl/site/lib D:/Perl/libの二つのフォルダにコピー。
そして、再度実行。だけど、また違うエラーメッセージが。
Can't locate DateTime/Format/Mail.pm in @INC (@INC contains: D:/Perl/site/lib D:
/Perl/lib .) at D:/Perl/site/lib/XML/RSS.pm line 6.
BEGIN failed--compilation aborted at D:/Perl/site/lib/XML/RSS.pm line 6.
Compilation failed in require at rss line 5.
BEGIN failed--compilation aborted at rss line 5.
同じようにMail.pmファイルをD:/Perl/site/libDateTime/Format/ D:/Perl/libDateTime/Format/ の二つにコピー。
再度実行。
Can't locate DateTime.pm in @INC (@INC contains: D:/Perl/site/lib D:/Perl/lib .)
at D:/Perl/site/lib/DateTime/Format/Mail.pm line 7.
BEGIN failed--compilation aborted at D:/Perl/site/lib/DateTime/Format/Mail.pm li
ne 7.
Compilation failed in require at D:/Perl/site/lib/XML/RSS.pm line 6.
BEGIN failed--compilation aborted at D:/Perl/site/lib/XML/RSS.pm line 6.
Compilation failed in require at rss line 5.
BEGIN failed--compilation aborted at rss line 5.
・・・DateTime.pmもコピー。
実行。
Can't locate DateTime/Helpers.pm in @INC (@INC contains: D:/Perl/site/lib D:/Per
l/lib .) at D:/Perl/site/lib/DateTime.pm line 8.
BEGIN failed--compilation aborted at D:/Perl/site/lib/DateTime.pm line 8.
Compilation failed in require at D:/Perl/site/lib/DateTime/Format/Mail.pm line 7
.
BEGIN failed--compilation aborted at D:/Perl/site/lib/DateTime/Format/Mail.pm li
ne 7.
Compilation failed in require at D:/Perl/site/lib/XML/RSS.pm line 6.
BEGIN failed--compilation aborted at D:/Perl/site/lib/XML/RSS.pm line 6.
Compilation failed in require at rss line 5.
・・・こっちもアホじゃないんで、build内のpm拡張子のファイルを全部D:/Perl/site/lib D:/Perl/libフォルダにコピーしてから再度実行。
そしたら実行できました。やれやれ。
(ちなみに、build内のファイルにパスを通してみましたけど駄目でした。)