2008年10月27日

strawberryでCatalyst ~インスコ失敗

Task::catalystではいらなかったっぽいのでメモ
これは後回し。


E:\strawberry\perl\bin>cpan -i Task::catalyst
CPAN: File::HomeDir loaded ok (v0.80)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/02packages.details.txt.gz
Fetching with LWP:
http://cpan.strawberryperl.com/modules/03modlist.data.gz
Database was generated on Fri, 12 Sep 2008 15:51:10 GMT
Updating database file ...
Gathering information from index files ...
Obtaining current state of database ...
Populating database tables ...
Done!
Warning: Cannot install Task::catalyst, don't know what it is.
Try the command

i /Task::catalyst/

to find objects with matching identifiers.

ActivePerl5.10でCatalyst(1) ~開発サーバ起動迄

第12回定例勉強会で杉山さんに触発されActivePerlでCatalystできんか模索中。
環境:EeePCにのっけたActivePerl 5.10.0 Build 1004
目標:一行掲示板を作成する。

まずは開発サーバ起動迄。

1.5.10のリポジトリを追加
Perl Package Manager を起動ctl+pでRepositoriesタブから
適当な名前で
http://cpan.uwinnipeg.ca/PPMPackages/10xx/
を追加。

2.Catalyst-Runtime 5.7012を入れる。
+(Make for install)して→(Run marked actions)する。

(ここでスケルトン作成しよーとしたらdevelがないと怒られた。)

3.Catalyst-Devel 1.03を入れる。

4.スケルトン作成
任意の開発フォルダで
catalyst.pl MyBBS
すると・・
created "MyBBS"
created "MyBBS\script"
created "MyBBS\lib"
created "MyBBS\root"
created "MyBBS\root\static"
created "MyBBS\root\static\images"
created "MyBBS\t"
created "MyBBS\lib\MyBBS"
created "MyBBS\lib\MyBBS\Model"
created "MyBBS\lib\MyBBS\View"
created "MyBBS\lib\MyBBS\Controller"
created "MyBBS\mybbs.yml"
created "MyBBS\lib\MyBBS.pm"
created "MyBBS\lib\MyBBS\Controller\Root.pm"
created "MyBBS/README"
created "MyBBS/Changes"
created "MyBBS\t/01app.t"
created "MyBBS\t/02pod.t"
created "MyBBS\t/03podcoverage.t"
created "MyBBS\root\static\images\catalyst_logo.png"
created "MyBBS\root\static\images\btn_120x50_built.png"
created "MyBBS\root\static\images\btn_120x50_built_shadow.png"
created "MyBBS\root\static\images\btn_120x50_powered.png"
created "MyBBS\root\static\images\btn_120x50_powered_shadow.png"
created "MyBBS\root\static\images\btn_88x31_built.png"
created "MyBBS\root\static\images\btn_88x31_built_shadow.png"
created "MyBBS\root\static\images\btn_88x31_powered.png"
created "MyBBS\root\static\images\btn_88x31_powered_shadow.png"
created "MyBBS\root\favicon.ico"
created "MyBBS/Makefile.PL"
created "MyBBS\script/mybbs_cgi.pl"
created "MyBBS\script/mybbs_fastcgi.pl"
created "MyBBS\script/mybbs_server.pl"
created "MyBBS\script/mybbs_test.pl"
created "MyBBS\script/mybbs_create.pl"
なんやら一式作成。

5.開発用サーバ起動
cd script
mybbs_server.pl
すると・・

Useless localization of subroutine entry at D:/Perl/site/lib/Catalyst/Action.pm
line 41.
[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded plugins:
.----------------------------------------------------------------------------.
| Catalyst::Plugin::ConfigLoader 0.19 |
| Catalyst::Plugin::Static::Simple 0.20 |
'----------------------------------------------------------------------------'

[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::HTTP"
[debug] Found home "D:\WRK\catalyst\MyBBS"
[debug] Loaded Config "D:\WRK\catalyst\MyBBS\mybbs.yml"
[debug] Loaded components:
.-----------------------------------------------------------------+----------.
| Class | Type |
+-----------------------------------------------------------------+----------+
| MyBBS::Controller::Root | instance |
'-----------------------------------------------------------------+----------'

[debug] Loaded Private actions:
.----------------------+--------------------------------------+--------------.
| Private | Class | Method |
+----------------------+--------------------------------------+--------------+
| /default | MyBBS::Controller::Root | default |
| /end | MyBBS::Controller::Root | end |
'----------------------+--------------------------------------+--------------'

6.開発サーバにアクセス
http://localhost:3000/
をーすげ。はじめてApacheたてた時の感動。

ココまで感想
・おもったよりここまでは簡単にいけた。
・リポ追加、RuntimeとDevel入れて、スケルトン追加の3stepで開発の土台ができるのはすごい。
・多分ここから5.8じゃないので苦労するのか?

メモ
・Catalystは英語で触媒という意味。
・Ciscoのスイッチじゃない。
・開発サーバはオプション -p でポート変更、-r でファイル変更がすぐに反映。
・Catalystは5.7からパッケージ構成がCatalyst::RuntimeとCatalyst::Develに分けられた。

参考リンク
hide-k.net#blog Catalyst 5.7000 is released
先知者、必取於人、知敵之情者也 Catalyst 5.7 へのバージョンアップ対策

for me
・勉強のコストを意識する。
・忙しいを言い訳にしない。

子供も寝たし眠いので寝る。