Windows 7 で Amon2 が動作するのか?
結論としては、Amon2 で作成した雛形内に cpanm をインストールするところから、進められていない。理由は、「Nmake15.exe が 64 bit に対応していない」からだ。
前提
今回試してみた環境は次の通り。
- Windows 7 64 bit SP1
- ActivePerl 5.14.2
この 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)などがインストールされていないということで、実行に失敗する。
試してはいないが、下記の設定をしてみると、成功するかもしれない。
cpanm --installdeps について
アプリケーションのディレクトリ(つまり、Makefile.PL があるディレクトリ)で、
http://d.hatena.ne.jp/tokuhirom/20100716
% cpanm --installdeps .
とすると、そのモジュールの依存モジュール(つまり requires に指定しているもの)をすべてインストールしてくれる。