エラー
「一足早く「Plagger」の便利さを実感してみよう」という記事のコードでエラーが出た点
posted in 01:56 2009年06月25日 by 涼微
三週間ぐらい前に私はかなり遅まきながらPlaggerを初めて触ってみました。その際にまず手始めのサンプルとして「Plagger」とGoogleで検索すると一番上に出てくる「一足早く「Plagger」の便利さを実感してみよう」という記事の4ページ目に書いてあるコードを実行しようとした際につまずいた点が3点あったのでその事について忘れない内に書いておこうと思います。
まず一点目はYAMLはインデント(字下げ)に厳しいので当該のページにあるコードをそのままコピペしてもエラーになってしまう点です。
だからコードでは、
となっているのを
というようにモジュール「Publish::Gmail」以下の部分の「config:」から下を一つずつ字下げして階層を作る必要がありました。
(*どうやら開発版で修正済みの模様(コメント欄参照)。寧ろこのエラーが出る場合は他にも修正済みで無いエラーが出る可能性があるので、リンク先のバージョンを取得する事を推奨します。)
二点目は、MIME::Liteのバージョンが上がり、「MIME::Lite::extract_addrs」から「MIME::Lite::extract_full_addrs」に名称が変更されてしまっているので、実行すると
というエラーが出て「Plagger::Plugin::Publish::Gmail」が動かなくなるという点です。
これを解消するには、「C:/Perl/site/lib/Plagger/Plugin/Publish」にある「Gmail.pm」の217行目と224行目に記載してある「extract_addrs」を「extract_full_addrs」に変更すれば良いです。
そして、三点目は「序数〜(四桁の数字)がダイナミック ライブラリ LIBEAY32.dllから見つかりませんでした」という警告が出るというエラーです。この場合は例えばこのサイトからOpenSSLをダウンロードして新しいバージョンにする必要が有ります。
ただし、LIBEAY32.dllというダイナミックリンクライブラリは色んなソフトに汎用的に使われているので、新しいバージョンをインストールすると他のソフトに不具合が生じる場合があるのでその場合は自己責任でお願いします。
私の環境(Windows XP)の場合は上記三つのエラーでしたが、環境や入れているソフトによっては他にもエラーが出てくるかもしれないです。しかし、その時は私はまだそこまでPlaggerに詳しくないので他を当たってくれるようにお願いしたいと思います。
1,YAMLのインデント
まず一点目はYAMLはインデント(字下げ)に厳しいので当該のページにあるコードをそのままコピペしてもエラーになってしまう点です。
だからコードでは、
plugins:
- module: Subscription::Bloglines
config:
username: atmarkhogehoge@gmail.com
password: hogehoge
mark_read: 0
fetch_meta: 1
- module: Widget::BloglinesSubscription
- module: Publish::Gmail
config:
mailto:atmarkhogehoge@gmail.com
mailfrom: atmarkhogehoge@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: atmarkhogehoge@gmail.com
password: hogehoge
となっているのを
plugins:
- module: Subscription::Bloglines
config:
username: atmarkhogehoge@gmail.comhttp://twitter.com/
password: hogehoge
mark_read: 0
fetch_meta: 1
- module: Widget::BloglinesSubscription
- module: Publish::Gmail
config:
mailto:atmarkhogehoge@gmail.com
mailfrom: atmarkhogehoge@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: atmarkhogehoge@gmail.com
password: hogehoge
というようにモジュール「Publish::Gmail」以下の部分の「config:」から下を一つずつ字下げして階層を作る必要がありました。
2,MIME::Liteのバージョンの相違
(*どうやら開発版で修正済みの模様(コメント欄参照)。寧ろこのエラーが出る場合は他にも修正済みで無いエラーが出る可能性があるので、リンク先のバージョンを取得する事を推奨します。)
二点目は、MIME::Liteのバージョンが上がり、「MIME::Lite::extract_addrs」から「MIME::Lite::extract_full_addrs」に名称が変更されてしまっているので、実行すると
Plagger::Plugin::Publish::Gmail [error] Error while sending emails:
Undefined subroutine &MIME::Lite::extract_addrs called
at C:/Perl/site/lib/Plagger/Plugin/Publish/Gmail.pm line 217.
というエラーが出て「Plagger::Plugin::Publish::Gmail」が動かなくなるという点です。
これを解消するには、「C:/Perl/site/lib/Plagger/Plugin/Publish」にある「Gmail.pm」の217行目と224行目に記載してある「extract_addrs」を「extract_full_addrs」に変更すれば良いです。
3,OpenSSLのダウンロード
そして、三点目は「序数〜(四桁の数字)がダイナミック ライブラリ LIBEAY32.dllから見つかりませんでした」という警告が出るというエラーです。この場合は例えばこのサイトからOpenSSLをダウンロードして新しいバージョンにする必要が有ります。
ただし、LIBEAY32.dllというダイナミックリンクライブラリは色んなソフトに汎用的に使われているので、新しいバージョンをインストールすると他のソフトに不具合が生じる場合があるのでその場合は自己責任でお願いします。
私の環境(Windows XP)の場合は上記三つのエラーでしたが、環境や入れているソフトによっては他にもエラーが出てくるかもしれないです。しかし、その時は私はまだそこまでPlaggerに詳しくないので他を当たってくれるようにお願いしたいと思います。
さすが!と言わせる Plagger徹底攻略術 | |
蒲生 睦男 シーアンドアール研究所 2009-01-23 売り上げランキング : 136563 Amazonで詳しく見る by G-Tools |