macOSのirbで日本語が入力できるようにする

本稿は、日本語が使えるirbにしておく – ザリガニが見ていた…。のEl Capitan以降対応版である。オリジネーターであるザリガニが見ていた…。さんに深く感謝する。

ザリガニが見ていた…。さんの記事にある通り、macOSのirbは、日本語を入力すると文字化けする。これは、irbが利用しているコマンド入力ライブラリというものが、日本語に対応していないことによる。
対策も記事にある通り、irbが利用しているコマンド入力ライブラリをreadlineに切り替えることである。ただ、El Capitan以降で導入されたSIPのおかげで、記事にある手順にひとつ手間が加わった。以下、それについて述べる。

  1. readlineのインストール
    筆者はHomebrewを使っていない。こちらからダウンロードし、コンパイル&インストールした。

    tar xf readline-6.3.tar.gz
    cd readline-6.3
    ./configure
    make && sudo make install
  2. SIPの解除
    リカバリーモード(Cmd+R)で起動して、ターミナルを起動、次の通り入力、再起動する。

    csrutil disable
  3. コマンド入力ライブラリのreadlineへの切り替え

    sudo install_name_tool -change "/usr/lib/libedit.3.dylib" "/usr/local/lib/libreadline.6.3.dylib" "/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/readline.bundle"
  4. SIPの再設定
    好みによるが、筆者は解除しっぱなしは避けた。よって再びリカバリーモード(Cmd+R)で起動して、ターミナルを起動、次の通り入力、再起動する。

    csrutil enable

以上である。

なお、本変更はOSアップデートなどでデフォルトのコマンド入力ライブラリに戻ってしまう。OSアップデートなどでは、再度readlineへ切り替える必要がある。

この投稿へのコメント

コメントはありません。

コメントを残す

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

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL