Windows 7 で Amon2 が動作するのか?

littlebuddha2012-02-20

結論としては、Amon2 で作成した雛形内に cpanm をインストールするところから、進められていない。理由は、「Nmake15.exe が 64 bit に対応していない」からだ。

前提

今回試してみた環境は次の通り。

この ActivePerl に付属している ppm から Amon2 をインストールした。

作業記録

Amon2 のチュートリアルをなぞって作業をしている。
今回は、D ドライブ内に Amon2 の雛形を作ってみる。まずは、作業ディレクトリを作成する。

C:>D:
D:\>mkdir Amon2\Sample\
D:\>cd Amon2\Sample\

そして、Amon2 の雛形を生成する。

D:\Amon2\Sample\>amon2-setup.bat BBS
-- Running flavor: Basic --
[Flavor::Basic] Loading asset: jQuery
[Flavor::Basic] Loading asset: Bootstrap
[Flavor::Minimum] writing lib/BBS.pm
[Flavor::Basic] writing tmpl/index.tt
[Flavor::Basic] writing tmpl/include/layout.tt
[Flavor::Basic] writing tmpl/include/pager.tt
[Flavor::Basic] writing lib/BBS/Web.pm
[Flavor::Basic] writing lib/BBS/Web/Dispatcher.pm
[Flavor::Minimum] writing Makefile.PL
[Flavor::Minimum] writing t/00_compile.t
[Flavor::Minimum] writing t/01_root.t
[Flavor::Minimum] writing t/02_mech.t
[Flavor::Minimum] writing t/Util.pm
[Flavor::Minimum] writing xt/03_pod.t
[Flavor::Basic] writing static/js/jquery-1.7.1.min.js
[Flavor::Basic] writing static/bootstrap/bootstrap-dropdown.j
[Flavor::Basic] writing static/bootstrap/bootstrap.min.css
[Flavor::Basic] writing static/bootstrap/bootstrap-twipsy.js
[Flavor::Basic] writing static/img/.gitignore
[Flavor::Basic] writing static/robots.txt
[Flavor::Basic] writing static/js/main.js
[Flavor::Basic] writing static/css/main.css
[Flavor::Basic] writing app.psgi
[Flavor::Basic] writing lib/BBS.pm
[Flavor::Basic] writing lib/BBS/Web.pm
[Flavor::Basic] writing lib/BBS/Web/Dispatcher.pm
[Flavor::Basic] writing db/.gitignore
[Flavor::Basic] writing config/development.pl
[Flavor::Basic] writing config/deployment.pl
[Flavor::Basic] writing config/test.pl
[Flavor::Basic] writing sql/mysql.sql
[Flavor::Basic] writing sql/sqlite.sql
[Flavor::Basic] writing t/00_compile.t
[Flavor::Basic] writing xt/02_perlcritic.t
[Flavor::Basic] writing .gitignore
[Flavor::Basic] writing t/03_assets.t
[Flavor::Basic] writing .proverc
[Flavor::Basic] writing t/06_jslint.t
[Flavor::Basic] writing static/404.html
[Flavor::Basic] writing static/500.html
[Flavor::Basic] writing static/502.html
[Flavor::Basic] writing static/503.html
[Flavor::Basic] writing static/504.html

ここまでは、できた。
そして、チュートリアルにある

% curl -L http://cpanmin.us | perl - --installdeps .

を実行するために、http://cpanmin.usをテキストファイルとして保存する。保存したファイルは、今回の場合だと、「D:\Amon2\Sample\BBS」に保存する。今回は、保存したファイル名を「cpanm.txt」として保存した。
そして、この保存したファイル(cpanm)を実行する。

F:\Amon2\Sample\BBS>perl cpanm.txt --installdeps .

すると、Plack::Middleware::ReverseProxy や Amon2::DBIコンパイルでエラーが発生してしまう。

cpanm のインストールでエラーが発生したまま、たとえ

F:\Amon2\Sample\BBS>plackup app.psgi

を実行しても、依存している Perl Module (Amon2::DBI)などがインストールされていないということで、実行に失敗する。
試してはいないが、下記の設定をしてみると、成功するかもしれない。

Windows 7 32 bit版ならば

もしかしたら、32 bit版の Windows 7 ならば動作するかもしれない。

cpanm --installdeps について

アプリケーションのディレクトリ(つまり、Makefile.PL があるディレクトリ)で、
% cpanm --installdeps .
とすると、そのモジュールの依存モジュール(つまり requires に指定しているもの)をすべてインストールしてくれる。

http://d.hatena.ne.jp/tokuhirom/20100716