Acme::Ikamusume の環境構築でゲソ
ボクの開発環境(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を利用するでゲソまでの手順を紹介したでゲソ。
とくに誰じゃなイカの役に立つでゲソというわけでもないだったね。おそまつさまだったでゲソ。