雑が喰おう

PlaggerをWindowsにインストールした

kuzuyaro:WinXPにPerlとPlaggerを簡単3ステップ?でインストール! – livedoor Blog(ブログ)
irvine_eddieの日記 – 2007-01-07
上記2サイトを参考にPlaggerをインストールした。

因みに、ヴァージョンは、
Perlは ActivePerl-5.8.8.822
Plaggerは Plagger-0.7.17

んで、その際のインストール手順のメモ。
因みにスクリーンショットなどは撮影していないので文字のみ。
スクリーンショットを確認したい場合は、上記参考さいとを参照のこと。

1:ActivePerlのインストール

今回使用したVer5.8.8.822はppmにGUIがあり、それに非難集中してる模様だが、気にせずにインストール。
設定はそのままで保存先のみ自分の置きたいとこにインストールした。
結構これが時間がかかって、30分以上かかってたような気がする。

※インストールディレクトリパスに日本語が含まれていたり、半角スペースなどがあるとメンドクサイので注意
また、既存Perlがある場合は、完全に削除してからインストールした方がいいそうです。
自分はレジストリも削除してから入れた。

2:Plaggerのインストール

ActivePerlのインストールが終わったら、コマンドプロンプトで ppm と入力。

G:\>ppm

ドライブ名がGなのは、自分がGドライブにインストールしただけなので、その辺はご愛嬌。
そしたら、ppmのGUIが起動する。
右端ののアイコンをクリックで、「PPM Preferences」というウインドウが開くので、「Repositories」 タブを開く。

Nameに tcools
Locationに http://ppm.tcool.org/archives/

と入力し、 Add ボタンクリックでppmサイトにtcoolが追加された。
既存のサイトは使用しないので、進入禁止標識みたいなアイコンをクリックして削除。
んでOKボタン。

次に、左端にある灰色の箱型アイコンをクリックする。
そしたら、ずら~とリストが表示される。検索窓に、Plaggerと入力すると、Plaggerがピックアップされるので、それを右クリックして、Install Plagger Ver数字を選ぶ。
そしたら、Run Marked Actionという緑色の矢印アイコンをクリックすればインストールが始まる。

インストール時は30分ほど時間がかかる。そのときに応答がないように見えるが、しばらく放置して様子見でOK。大抵の場合ちゃんと動いてます。
最終的に、エラーが何も表示されずに、Installしたよ何個くらい…DONE みたいな表示が出ればインストール完了。

ppmを終了させて、コマンドプロンプトで、plagger -v と打ってPlaggerのヴァージョンを確認。
しかし、

G:\>plagger -v
'plagger' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

なんてでた。
問題なくインストールできたように見えたのに…。
調べてみたらインストールを失敗したのかと思いきや、場所が違っていた模様。
perl\site\bin 配下にありました。

G:\>cd g:\saba\perl\site\bin

G:\saba\Perl\site\bin>plagger -v
Plagger version 0.7.17

ちゃんと、Plagger 0.7.17がインストールされています。

3:assetsのコピー

コレで終わりと思いきや、なんでも、標準のインストールでは、インストールされていないものがあるようです。
それが、 Plaggerの三大罠なんて言われている代物。「assetsのコピー」です。

Tatsuhiko Miyagawaから、インストールしたPlaggerと同じVerのPlagger-0.7.17.tar.gzというのをダウンロード。
解凍して出てくる「assets」フォルダをそのまま、パスの通っている適当な場所にコピー。
(この場所のパスをyamlファイルに記述するので解りやすいところの方がいいかもしれない)
自分の場合は、G:\saba\Perl\site\lib\Plagger にコピーした(Pluginと同じほうが忘れなさそうだったので)

4:Plaggerの動作テスト

いよいよ、Plaggerの動作テスト。
動作テストでもっぱら使用されているのが、BloglinesからGmailに送信するってやつですが、個人的にBloglinesは使用していないので、別の方法でテスト
今回動作テストに利用したのは、Bloglinesにログインしないだけで、後は同じ、フィードをGmailに送信するってやつです。

新たなモジュールやフィルターは一切必要ないはずです。
yamlの中身は以下の通り。UTF-8で保存のこと。
環境に合わせて、plugin_path、assets_path、メールアドレス、パスワードは変更してください。
なお、Plaggerの三大罠の一つ「yamlの改行」という最後の行に改行を忘れずに入れましょう。スペースなどがあっても駄目。改行あと、インデットなどは、タブじゃなく、半角スペースで。

global:
plugin_path:
- C:\Perl\site\lib\Plagger\Plugin
assets_path: C:\Perl\site\lib\Plagger\assets
timezone: Asia/Tokyo
log:
level: info
plugins:
- module: Subscription::Config
config:
feed:
- http://feeds.feedburner.jp/zatugakuou
- module: Publish::Gmail
config:
mailto: USERNAME@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: USERNAME@gmail.com
password: PASSWORD

上記のyamlファイルを「test.ymal」として保存した。
そしたら、コンマンドプロンプトから実行してみる。

plagger -c test.ymal

結果が、Gmail にメールが送れたら成功!おめでとう!!

4:エラーの原因追及

結果が、Gmail にメールが送れた人はおめでとう。残念ながら、うちの環境ではPerlが落ちてしまう。調べてみると、dllのverのミスマッチが原因とかうんぬん。
よくわからないのが、その人の解決方法をそのまま試してみようかと思ったが、今一度自分のインストール環境を確認すると原因判明。

ただ単に、Publish::Gmailに必要なモジュールがインストールされていなかった…。
ということで、早速インストール

Publish::Gmailに必要なモジュールで、今回インストールされてなかったものは、


    IO-Socket-SSL、Net-SMTP-TLSもPublish::Gmailに必要なんだけど、ちゃんとインストールされてました。

    再び、実行してみる。
    が、やはりPerlが落ちてしまう。うーむ。
    ここで、先ほどのdllのverのミスマッチ云々という話になるのだろう。

    それならそうとて、最初からそちらの解決方法をやっておけばよかったな。
    参考記述はpomo123の日記 – Net::SSLeayに問題?httpsアクセスでperl.exeが落ちる

    まずは、ppmを立ち上げて既存のNet_SSLeay.pmを右クリックで「remove」を選択して、緑色の矢印アイコンでアンインストール。
    Crypt-SSLeayも同様にアンインストール。

    次にtcoolを追加したように、theoryx5を追加
    ただし、参考サイトのURLでは登録できなかったので、http://theoryx5.uwinnipeg.ca/ppms で登録。
    そのときリストないに、Crypt-SSLeayが二つ表示されるので間違えないようにするために、tcoolを削除しておいた方がいい。
    そしたら、Net_SSLeay.pm、Crypt-SSLeayをインストール。

    そしたら、またまたアクシデント。なんと、GUIからはdllのインストール設定が出来ない模様。(できるのかもしれないけど)
    ということで、直接、ssleay32.dllとlibeay32.dllを Perl\bin\ から削除してからインストールしたら、ちゃんとダウンロードできた。
    んじゃ、再び実行してみる。

    それでもやっぱりPerlが落ちてしまう。原因は一なんなのだろうか…。

    よく調べてみると、そもそも、別の場所にssleay32.dllやlibeay32.dllがあるとそれが邪魔をするらしい。
    入れたつもりはないのだけれど、あるのかなぁと全HDDを対象に検索してみると、ありました。

    私の場合、DynamicDNSサービスを利用しているのですが、その更新ツールに、DiCEというフリーのクライアントツールを利用しており、そのフォルダ内にしっかりと、ssleay32.dllとlibeay32.dllがありました。

    それらのverの確認はできなかったのですが、削除してみてみましたが、既にPlagger用にdllを入れているおかげかDiceはdllがなくともちゃんと機能してくれているっぽいのでDiceのdllを削除して何回目かのテストを実行。

    それでも落ちた。何が原因なんだろう。とりあえず、ssleay32.dllのlibeay32.dllを元に戻すべす、theoryx5からインストールしたモジュールとdllを削除して、tcoolから今一度インストールしてみて、もう一度テストしてみる。

    スポンサード リンク

    スポンサード リンク

    »関連してそうな記事