M1 macでRMeCabをインストールする際の注意事項

# はじめに

Wordcloudを仕事で使用していたのですが、古いmac (Intel mac) が壊れてしまい、M1 macに入れ替わったあとRMeCabが全く使えず、使えるようになるまで結構苦労したので、備忘録として投稿します。

*参考サイト
https://rmecab.jp/new/

# 動作環境
* MacBook Pro  14inch, 2021
* macOS Monterey 12.6
* R-4.2.1
* RStudio 2022.07.1


# MeCabのインストール
参考サイトをもとにインストールを行います。M1 macではCPUがIntelからAppleシリコンに代わり、色々と影響が出ているのですが、MeCabもその影響を受けています。

## MeCabのインストールの注意点

まずはコマンドラインツールをインストールして、その後MeCabをインストールするのですが、M1 macの場合は必ず **ターミナルAppの設定** が必要になります。
参考サイトでは記事ではなくYouTubeリンク先の動画で紹介されているのですが、FinderのアプリケーションでTerminalのアイコンを右クリックして、**「Rosettaを使用して開く」のチェックをオフ**にすることが必要です。（これ、超重要！！）
**これを忘れると、M1 macのCPUであるx64対応のMeCabがインストールされないため、ターミナルのMeCabで動作してもRMeCabでSession Abortのエラーメッセージに悩まされます。**

![スクリーンショット 2022-10-12 6.08.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531038/ac2fde59-357e-9898-1352-6bad584b3d32.png)


![スクリーンショット 2022-10-12 6.08.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531038/8d5d879a-06fd-1516-ba3a-b0b191fbaf6f.png)


## MeCab本体のインストール
ターミナルAppでコマンドラインツールのインストールします。

```
% xcode-select --install
```

インストールする際にmacのパスワード入力が求められるので入力するとソフトウェアインストールが行われます。

## MeCabをターミナルAppでインストール
以下のスクリプトを実行してMeCabをインストールします。

```Temimal app
% cd ~/Downloads
% curl -fsSL "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE" -o mecab-0.996.tar.gz
% tar xf mecab-0.996.tar.gz
% cd mecab-0.996
% ./configure --with-charset=utf8
% make
% sudo make install
```

## MeCab用の辞書をインストール
以下のスクリプトでMeCab用の辞書をインストールします。

```Terminal

% cd ~/Downloads
% curl -fsSL "https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM" -o mecab-ipadic-2.7.0-20070801.tar.gz
% tar zvxf mecab-ipadic-2.7.0-20070801.tar.gz
% tar xf mecab-ipadic-2.7.0-20070801.tar.gz
% cd mecab-ipadic-2.7.0-20070801
% ./configure --with-charset=utf-8
% make
% sudo make install
```

# ターミナルでの動作確認

ターミナルでMeCabを起動して日本語の文を入力して確認します。
MeCabを起動するとキーボードで入力できるので、適当な日本語の文を入力してみます。
以下は`Drive in The Rain　そう　One more futureキミを探して　駆けるよユニバース` というフレーズを入れた例になります。

Control + C でMeCabからターミナルへ抜けることができます。

```
% mecab
Drive in The Rain　そう　One more futureキミを探して　駆けるよユニバース
Drive	名詞,固有名詞,組織,*,*,*,*
in	名詞,一般,*,*,*,*,*
The	名詞,一般,*,*,*,*,*
Rain	名詞,一般,*,*,*,*,*
　	記号,空白,*,*,*,*,　,　,　
そう	副詞,助詞類接続,*,*,*,*,そう,ソウ,ソー
　	記号,空白,*,*,*,*,　,　,　
One	名詞,固有名詞,組織,*,*,*,*
more	名詞,一般,*,*,*,*,*
future	名詞,固有名詞,組織,*,*,*,*
キミ	名詞,代名詞,一般,*,*,*,キミ,キミ,キミ
を	助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
探し	動詞,自立,*,*,五段・サ行,連用形,探す,サガシ,サガシ
て	助詞,接続助詞,*,*,*,*,て,テ,テ
　	記号,空白,*,*,*,*,　,　,　
駆ける	動詞,自立,*,*,一段,基本形,駆ける,カケル,カケル
よ	助詞,終助詞,*,*,*,*,よ,ヨ,ヨ
ユニバース	名詞,固有名詞,組織,*,*,*,ユニバース,ユニバース,ユニバース
EOS
```

# RMeCabのインストール
続いて、RStudioでパッケージのインストールと確認を行います。

```R
install.packages("RMeCab", repos = "https://rmecab.jp/R")
library(RMeCab)
RMeCabC("Drive in The Rain　そう　One more future キミを探して　駆けるよユニバース")
```

以下の動作環境であれば、正しくMeCabがインストールされていれば、``R Session aborted``のエラーメッセージは出てこないです。
* MacBook Pro  14inch, 2021
* macOS Monterey 12.6
* R-4.2.1
* RStudio 2022.07.1

# それでも``R Session aborted`` が出てしまう場合
上記でもRMeCabを行った時にR Session abortedが出てしまう場合は、以下のサイトで紹介されている ``再構築`` を行った上でMeCabを一旦削除して再インストールし、その後でRStudioで再度RMeCabのパッケージを再インストールをしてみます。

https://qiita.com/tex_owleyes/items/488374ef5dac2e4555a9

## MeCabと辞書のUninstall
```Terminal
% cd mecab-ipadic-2.7.0-20070801
% sudo make uninstall
% sudo make clean

% cd mecab-0.996
% sudo make uninstall
% sudo 
% make clean
```

## MeCabと辞書のインストール
上記の ``MeCabをターミナルAppでインストール``と``## MeCab用の辞書をインストール``でそれぞれをインストールし、その後``RMeCabのインストール``で動作確認を行います。