2006/09/23
■ ActivePerl+Plaggerが全角文字を含むディレクトリにアクセスするとこける件
が、Win32 で「デスクトップ」などの文字列を dir などに使おうとすると mkdir/open がしける。これは ActivePerl の問題だからどうしようもないな。。とりあえず、
global: no_decode_utf8: 1としておくとデコードしません(以前の動作と同じ)
とりあえず既知かつWin32でPlaggerを使う人には不可欠のBKということで。
#ちなみに環境変数HOMEを全角文字や空白を含まないディレクトリに指定するのでもOK(個人的にはその方が好み)。
■ Template-Toolkitのインストールまわりに問題があったのかも
ふたたびコメント欄から。
kishimoto『失礼しました。しつこくここに書くのもいかがかなものかとも思いましたが以下にconfig.yamlを記しておきます。SoftwereDesign誌10月号83ページ掲載のものとほぼ同じです。
global:
plugin_path:
- C:¥Perl¥site¥lib¥Plagger¥Plugin
assets_path: C:¥Perl¥site¥lib¥Plagger¥assets
timezone: Asia/Tokyo
plugins:
- module: Subscription::Config
config:
feed:
- http://labs.cybozu.co.jp/blog/akky/atom.xml
- http://labs.cybozu.co.jp/blog/kazuho/atom.xml
- http://labs.cybozu.co.jp/blog/takesako/atom.xml
- module: Publish::Gmail
config:
mailto: xxxxxxxx@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: xxxxxxxxx@gmail.com
password: base64::xxxxxxxxxxxxxx
自分の名前をタイプミスするようなヤツなのでどこで間違ってるのかわかりません。』
私は未検証ですが、miyagawaさんのはてブコメントを見る限り、c:\Perl\site\lib\auto\Template\Stash\XSディレクトリの中にXS.dllというのがあるか確認して、ないようならうちのリポジトリからppm install -force Template-Toolkitしてもらうのが早道の模様。
あと、パスの区切り文字が全角¥になっているようですが、これはきっと実際のconfig.yamlでは正しく半角になっているのですよね?
#追記:牧さんがStash.pm側を修正する解法を見つけてくださったので、ppmのインストールにこける方はそちらをお試しあれ。
■ Plaggerの質問をするのにコメント欄が不適切な理由
Plaggerの開発陣は私を含めてまず間違いなくみんなPlaggerなりなんなりで新着情報(のみ)を追いかける人たちですので、誰かがはてブ等で発掘しない限り、過去ログのコメント欄なんて読みません。
もちろんコメントを受け取った本人には質問は伝わるでしょうが、そうやって直接ご指名を受けても困るんだよなあ、というのが大方の感想でしょう。
自分のサイトに書いておけば開発陣が読んでくれるだろうと勝手に期待されるのもそれはそれで困った話なのですが、とりあえず http://plagger.org/planet/ で収集されるようになっていれば、たぶん誰かは目を通します(いちいち質問に答えるかどうかはまた別の話ですが)。
また、使い方がわからないとかいうのでなく、本当にバグを見つけた、パッチも書いたという場合は、なるべくIRCなりメールなりで報告するのがよろしいということになっています。
あと何か書いておくべきことあったかな。
SD10月号はまだ読んでいないのでナンですが(ほかの本といっしょに注文したのでそちら待ち)、困ったときは、http://plagger.org/ とか http://wiki.shibuya.pl/ を起点にいろいろ調べてみてくださいませ。
■ Plaggerの質問をするときはconfig.yamlもいっしょに書いてくださいね
WindowsXP Pro、ActivePerl 5.8.8 build 819、Plagger 0.7.12 で、以下のようなエラーが出ます。。
Plagger::Plugin [fatal] undef error - A DateTime object can only be compared to another DateTime object (Plagger::Date=HASH(0x1fa1470), Template::Stash::ForceUTF8=HASH(0x2d76388)). at C:/Perl/site/lib/Template/Stash.pm line 685 at line 144
いろいろやってみたのですが、結局うまく動かせず徹夜してしまいました……。
いやもうタイトルですべてを言い尽くしてしまったわけですが、これはたぶんconfig.yamlの書き方に何か問題があるんだと思いますので、それをさらしてもらわないと答えようがありません。
ついでにいうと、Plaggerそのものに関する質問は、IRCか、ご自分のブログなりなんなりをお持ちでしたらそちらの方に書いておいてください(運がよければ誰かが巡回してコメントをつけてくれるでしょう)。
リポジトリの提供はしますし、時間があれば調べてお答えしますが、ここはPlagger for Win32のサポートセンターではありません。ishimotoさんにはまず下記のページを一読されることをおすすめします。