Posts Tagged ‘web’

OSX(Leopard)にwebフレームワークArkをインストールした

日曜日, 6月 21st, 2009
photo by cogdogblog

photo by cogdogblog

MacBook white /w OSX Leopardに,Perlのwebフレームワーク「Ark」をインストールした.
その経過を残す.ただし,僕はPerl初心者なので,「いや,違うやろ」って場所はコメントにて指摘をお願いします.

とにもかくにも,まずはArkをダウンロード.
[shell]
$ wget http://cloud.github.com/downloads/typester/ark-perl/Ark-0.001000_001.tar.gz
$ tar zxvf Ark-0.01.tar.gz
[/shell]

で,次にテストなのだが,その際に必要なCPANモジュールがインストールされていないため,足止めを喰った.僕がつまづいたのは,Mac::Carbon,File::Find::Rule,DBD::mysql,DBIx::Class::Schema::Loaderだ.

まずMac::Carbonから.これはCPANからインストールするのではなく,portから入れた.
[shell]
$sudo port install p5-mac-carbon
$sudo port install p5-mac-appleevents-simple
[/shell]
p5-mac-appleevents-simpleは必要かわからない.下記のブログを参考にした.

http://d.hatena.ne.jp/jazzanova/20090520/1242755894

次にFile::Find::Rule.以下の様なエラーが出た.

CPAN.pm: Going to build R/RC/RCLAMP/File-Find-Rule-0.30.tar.gz

Too early to specify a build action ‘y’. Do ‘Build y’ instead.
Warning: No success on command[/opt/local/bin/perl Build.PL y]
RCLAMP/File-Find-Rule-0.30.tar.gz
/opt/local/bin/perl Build.PL y — NOT OK
Running Build test
Make had some problems, won’t test
Running Build install
Make had some problems, won’t install

なので,手動でインストールする.インストール方法はREADMEに書いてあった.
[shell]
cpan> look File::Find::Rule
bash-3.2# perl Build.PL
bash-3.2# perl Build test
bash-3.2# perl Build install
[/shell]

DBD::mysqlでは,テスト時にtestというデータベースを利用するらしいので,用意してあげた.
[shell]
$mysql -u root -p
mysql> create database test;
[/shell]

僕の設定では,mysqlのソケットは,/opt/local/var/run/mysql5/mysqld.sockに用意されるが,DBD::mysqlのテストでは/tmp/mysql.sockにソケットがあると考えてテストをする.なので,/opt/local/var/run/mysql5/mysqld.sockのシンボリックリンクを/tmp/mysql.sockに用意した.

[shell]
$ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock
[/shell]

DBIx::Class::Schema::Loaderもちゃんと入らなかったので,lookして手動でmake.
[shell]
cpan> look DBIx::Class::Schema::Loader
bash-3.2# perl Makefile.PL
bash-3.2# make test
bash-3.2# make
bash-3.2# make install
[/shell]

これで依存モジュールは解決.あとはマニュアル通りです.
[shell]
$cd Ark-xxxxxx
$sudo cpan -t .
$sudo cpan -i .
[/shell]

とりあえずOpenID系は無視して,インストール完了しました.