さくら鯖でText::MeCabをインストールする方法(UTF-8対応)

これは誰でもハマると思うので、インストール手順をまとめておきます。「username」を自分のアカウント名に置き換えて利用してください。

ちなみに著者は「さくらのレンタルサーバ スタンダード」です。

「tar zxfv ******」の「******」は予め「/home/username/」にダウンロードしておくか、wgetを使ってください。

ひとつインストールできる度に「/home/username」に戻ってください。(念のため)

libiconvをインストール

tar zxfv libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --with-prefix=/home/username/local
make
make install prefix='/home/username/local' exec_prefix='/home/username/local' libdir='/home/username/local/lib'

mecabをインストール

tar zxfv mecab-0.98.tar.gz
cd mecab-0.98
./configure --prefix=/home/username/local --with-charset=utf-8 LIBS=-liconv CPPFLAGS=-I/home/username/local/include LDFLAGS='-L/home/username/local/lib -R/home/username/local/lib'
make
make check
chmod 755 install-sh
make install

↓のエラーが出るけど大丈夫っぽいです。
(少なくとも自分はこれが出ても動きました)

runtests faild in
exit: Illegal number: -1
FAIL: run-cost-train.sh
===================
1 of 3 tests failed
===================

mecab-ipadicをインストール

tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz
cd mecab-ipadic-2.7.0-20070801
./configure --prefix=/home/username/local --with-charset=utf-8
make
make install

mecab-configのパスを調べる(次のステップで聞かれるため)

whereis mecab-config
mecab-config: /home/username/local/bin/mecab-config

Text::MeCabのインストール

tar zxvf  Text-MeCab-0.20008.tar.gz
cd Text-MeCab-0.20010
perl Makefile.PL prefix=/home/username/local/lib/perl5/ LIB=/home/username/local/lib/perl5/ INSTALLMAN1DIR=~/home/username/local/man/man1 INSTALLMAN3DIR=~/home/username/local/man/man3

↓のメッセージが出る場合は(恐らく出る)

Can't link/include 'mecab', 'mecab'

「/home/username/Text-MeCab-0.20010/Makefile.PL」をテキストエディタで開いて「check_lib($config);」を「#check_lib($config);」にしてコメントアウト。

コメントアウトしたら、「Text::MeCabのインストール」のコマンドを再度入力。

Warning: prerequisite Test::Requires 0 not found.

↑のエラーが良くみたら出ている場合は、

cpan
install Test::Requires

で一応インストール。

「Test::Requires」をインストールしたら「Text::MeCabのインストール」のコマンドを再入力。

無事に終わったら完了です!もしエラーが出ていたら、まずはエラーの英語をよく読みましょう。

サンプルコード↓(文字コード:UTF-8)

#!/usr/bin/perl

use strict;
use warnings;
use lib qw(/home/username/local/lib/perl5/i386-freebsd-64int);
use Text::MeCab;

print "Content-Type: text/html; charset=UTF-8\n\n";

my $mecab = Text::MeCab->new();

my $str = "私はかわいいものが好きなだけであってロリコンではないぞ!";

my $node = $mecab->parse($str);

for(my $node = $mecab->parse($str); $node; $node = $node->next)
{
	print " 表層:" . $node->surface . "<br />\n"; # 表層
	print " 品詞:" . $node->feature . "<br />\n"; # 現在の品詞
	print "コスト:" . $node->cost    . "<br />\n"; # その形態素までのコスト
	print "<br />\n";
}

サンプルコードに対するアウトプット↓

 表層:私
 品詞:名詞,代名詞,一般,*,*,*,私,ワタシ,ワタシ
コスト:2737

 表層:は
 品詞:助詞,係助詞,*,*,*,*,は,ハ,ワ
コスト:3163

 表層:かわいい
 品詞:形容詞,自立,*,*,形容詞・イ段,基本形,かわいい,カワイイ,カワイイ
コスト:9394

 表層:もの
 品詞:名詞,非自立,一般,*,*,*,もの,モノ,モノ
コスト:11400

 表層:が
 品詞:助詞,格助詞,一般,*,*,*,が,ガ,ガ
コスト:10091

 表層:好き
 品詞:名詞,形容動詞語幹,*,*,*,*,好き,スキ,スキ
コスト:10402

 表層:な
 品詞:助動詞,*,*,*,特殊・ダ,体言接続,だ,ナ,ナ
コスト:9498

 表層:だけ
 品詞:助詞,副助詞,*,*,*,*,だけ,ダケ,ダケ
コスト:13285

 表層:で
 品詞:助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ
コスト:14327

 表層:あっ
 品詞:助動詞,*,*,*,五段・ラ行アル,連用タ接続,ある,アッ,アッ
コスト:10781

 表層:て
 品詞:助詞,接続助詞,*,*,*,*,て,テ,テ
コスト:11972

 表層:ロリコン
 品詞:名詞,一般,*,*,*,*,ロリコン,ロリコン,ロリコン
コスト:16804

 表層:で
 品詞:助詞,格助詞,一般,*,*,*,で,デ,デ
コスト:17505

 表層:は
 品詞:助詞,係助詞,*,*,*,*,は,ハ,ワ
コスト:17740

 表層:ない
 品詞:形容詞,自立,*,*,形容詞・アウオ段,基本形,ない,ナイ,ナイ
コスト:19285

 表層:ぞ
 品詞:助詞,終助詞,*,*,*,*,ぞ,ゾ,ゾ
コスト:21801

 表層:!
 品詞:記号,一般,*,*,*,*,!,!,!
コスト:22256

 表層:
 品詞:BOS/EOS,*,*,*,*,*,*,*,*
コスト:20519

タグ:

コメント / トラックバック 1 件

  1. [...] さくら鯖でText::MeCabをインストールする方法(UTF-8対応) |  ぱわふるでいず [...]

コメントをどうぞ

コメント以外は入力しなくても送信できます。
間違っている情報に対する突っ込みなども歓迎です。

トラックバックURL