MeCab をインストールして MAMP の PHP で使う

プログラムで日本語の形態素解析をしてみたいと思い、MeCab をインストールしてみました。開発環境は MAMP で PHP を使っていたので、手順は MeCab をインストールした後、PHP から MeCab を利用するための php-mecab をインストールしました。

* はバージョン番号に差し替えてください。

MeCab を Homebrew でインストールする

Mac に Homebrew がインストールされている場合は、Homebrew を使って MeCab をインストールできます。
ターミナルを起動して、brew コマンドでインストールします。

brew install mecab

MeCab をコンパイルしてインストールする

Homebrew がインストールされていない場合は、まず、MeCab を次のウェブページからダウンロードして展開します。

展開が終わったら、ターミナルを起動して展開したフォルダーに移動してインストールします。

$ cd mecab-*.*
$ ./configure --enable-utf8-only
$ sudo make
$ sudo make install

文字コードは UTF-8 しか使わないつもりなので、configure--enable-utf8-only オプションを付けました。
これで、MeCab 本体のインストールは完了です。

MeCab 辞書のインストール

MeCab 本体のインストールが終わったら、つぎは MeCab で使う辞書のインストールです。先ほどのウェブページから IPA 辞書をダウンロードして展開します。

展開が終わったら、ターミナルでインストールします。

$ cd mecab-ipadic-*.*.*-********
$ ./configure --with-charset=utf8
$ sudo make
$ sudo make install

ここでも、文字コードを UTF-8 だけにするので、--with-charset=utf8 オプションを付けています。

MeCab の動作確認

MeCab が正しくインストールされたことを確認するため、まずはバージョンチェック。

$ mecab -v
mecab of *.*

バージョンが正しく表示されれば、とりあえず OK。

Autoconf の準備

つぎに、PHP で MeCab を利用するための php-mecab をインストールしたいところですが、 php-mecab をインストールするために必要な Autoconf が入っていないので、先にインストールします。

Autoconf がない状態でインストールをしようとすると、phpize コマンドで次のエラーが発生してしまいます。

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

使用する PHP を確認する

macOS (OS X) にはデフォルトで PHP がインストールされているため、今 MAMP の PHP が使われているかどうかを先に確認してから、Autoconf をインストールをします。

$ which php

このコマンドで /Applications/MAMP/bin/php/php*.*.*/bin/php と返ってくれば、今 MAMA の PHP が使われているので、そのまま Autoconf のインストールをします。/usr/bin/php と返ってきたら macOS (OS X) デフォルトの PHP が使われているので、MAMP の PHP が使われるように PATH を変更します。

PATH=/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php*.*.*/bin:$PATH

もう一度 which php を実行して MAMP の PHP が使われていることを確認してから、Autoconf のインストールをはじめます。

Autoconf のインストール

$ curl -O http://mirror2.mirror.garr.it/mirrors/gnuftp/gnu/autoconf/autoconf-latest.tar.gz
$ tar xzvf autoconf-latest.tar.gz
$ cd autoconf-*.*
$ ./configure
$ sudo make
$ sudo make install

インストールが終了したら、次のコマンドで確認します。

$ which autoconf

/usr/local/bin/autoconf と返ってくれば Autoconf のインストールは完了です。

php-mecab のインストール

まずは php-mecab を次のウェブページからダウンロードします。

展開が終わったら、ターミナルを起動して展開したフォルダーに移動してインストールします。

$ cd php-mecab-master/mecab
$ /Applications/MAMP/bin/php/php*.*.*/bin/phpize
$ ./configure --with-php-config=/Applications/MAMP/bin/php/php*.*.*/bin/php-config --with-mecab=/usr/local/bin/mecab-config
$ sudo make
$ sudo make install

php.ini の編集

先ほどインストールした php-mecab を起動時に読み込むよう php.ini に次の行を追加して保存します。

extension=mecab.so

php.ini は /Applications/MAMP/bin/php/php*.*.*/conf フォルダーにあります。

php-mecab の動作確認

php.ini の編集が完了したら、Apache サーバーを再起動して phpinfo の出力内容に mecab のセクションがあることを確認します。

mecab

MeCab Support enabled
Module Version *.*.*
Version Info Compiled Linked
MeCab Library 0.996 *.*
Directive Local Value Master Value
mecab.default_dicdir no value no value
mecab.default_rcfile no value no value
mecab.default_userdic no value no value

Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です