Acme::Ikamusume の環境構築でゲソ

f:id:hayajo_prpr:20120630214142j:plain

ボクの開発環境(debian squeeze)におけるAcme::Ikamusume環境構築手順でゲソ。

こちらが大変参考になりたでゲソ。ありがとうございますでゲソ。

MeCabのインストールでゲソ

aptのmecab関連パッケージでゲソとmecab-configの吐くパスがアレで、Acme::Ikamusumeのmake時にコケるでゲソ。また、最新のmecab-0.994でゲソとText-MeCab-0.20013のテストが失敗したでゲソ。

というわけで、実績のあるmecab-0.98をソースからインストールするでゲソ。

あとstow使ってパッケージ管理してますでゲソ。

まずはMeCab本体をインストールするでゲソ。

$ cd /usr/local/src
$ wget http://mecab.googlecode.com/files/mecab-0.98.tar.gz
$ tar xzf mecab-0.98.tar.gz $ cd mecab-0.98
$ ./configure --prefix=/usr/local/stow/mecab-0.98 -enable-utf8-only
$ make
$ make check
$ sudo make install

make check で run-cost-train.sh が失敗することがあるでゲソが気にしませんでゲソ。大丈夫でゲソ。多分でゲソ。

引き続きipadicのインストールを行うでゲソ。

$ cd /usr/local/src
$ wget http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz
$ tar xzf mecab-ipadic-2.7.0-20070801.tar.gz $ cd mecab-ipadic-2.7.0-20070801
$ ./configure --prefix=/usr/local/stow/mecab-0.98 --with-charset=utf8 --with-mecab-config=/usr/local/stow/mecab-0.98/bin/mecab-config
$ make
$ sudo make install

最後にstowでシンボリックリンクを張るでゲソ。念のためldconfigも実行しておきましょうでゲソ。

$ cd /usr/local/stow
$ sudo stow mecab-0.98
$ sudo /sbin/ldconfig

ためしてみるでゲソ。

$ echo 'インストールできたでゲソ' | mecab
インストール 名詞,一般,*,*,*,*,インストール,インストール,インストール
で 助詞,格助詞,一般,*,*,*,で,デ,デ
きた 名詞,一般,*,*,*,*,きた,キタ,キタ
で 助詞,格助詞,一般,*,*,*,で,デ,デ
ゲソ 名詞,一般,*,*,*,*,*
EOS

できたでゲソ。


[ご注意] このあとのperlのモジュールのインストールでは、アプリケーションディレクトリ(APP_DIR)にcartonとcpanmを利用してインストールしているでゲソ。これらを使わない場合は適宜読み替えが必要になるでゲソのでご注意くださいでゲソ。


Text::MeCabのインストールでゲソ

carton install Text::MeCab でスパっとインストールしたいのでゲソが、辞書エンコーディングがデフォルトのeuc-jpになってしますでゲソ。

というわけでcpanm -vでインストールして、プロンプトからutf-8を指定するでゲソ。

$ cd APP_DIR $ cpanm -L local -v Text::MeCab
...
Encoding of your mecab dictionary? (shift_jis, euc-jp, utf-8) [euc-jp] utf-8
...

Acme::Ikamusumeのインストールでゲソ

本命のAcme::Ikamusumeのインストールでゲソ。

ここまで手順通りに進んでいれば一番簡単な作業でゲソ。cartonでサクっとインストールしましょうでゲソ。

$ cd APP_DIR
$ carton install Acme::Ikamusume

上記操作でlocalにインストールされたText::MeCabもcartonツリーに登録されるでゲソ。すばらしいじゃなイカ。

使ってみるでゲソ

準備が整ったのでさっそく使ってみなイカ。

$ cd APP_DIR $ cat <<EOF | carton exec perl -- -e 'use Acme::Ikamusume;use open ":utf8";use open ":std";print Acme::Ikamusume->geso(do {local $/;<>})'
pipe heredoc $ この道を行けばどうなるものか
pipe heredoc $ 危ぶむなかれ
pipe heredoc $ 危ぶめば道はなし
pipe heredoc $ 踏み出せばその一足が道となりその一足が道となる
pipe heredoc $ 迷わず行けよ
pipe heredoc $ 行けばわかるさ
pipe heredoc $ EOF
この道を行けばどうなるものじゃなイカ
危ぶむなかれでゲソ
危ぶめば道はなしでゲソ
踏み出せばその一足が道となりその一足が道となるでゲソ
迷わず行けよ
行けばわかるでゲソさ

できたじゃなイカ。


というわけでAcme::Ikamusumeを利用するでゲソまでの手順を紹介したでゲソ。

とくに誰じゃなイカの役に立つでゲソというわけでもないだったね。おそまつさまだったでゲソ。