とよぶ

歌いながらコード書いてます

MacでCentOSにSSHログインしてyumを実行したら「Failed to set locale, defaulting to C」と出た

環境

  • Mac OSX 10.9.5 Mavericks
  • iTerm2

yum installできそうだけど怪しい。。。

Fabricをインストールする関係でpipでpycryptoをインストールするためにpython-develが必要で、yumコマンド実行しようとしたら出てきた。

$ yum list installed | grep python-devel
Failed to set locale, defaulting to C
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: LC_ALL?????????????????????: ??????????????????????
LANG=ja_JP.UTF-8
LC_CTYPE=UTF-8 # !?

解決策 LC_CTYPE=UTF-8を正しくする

調べてみると、LC_CTYPEはクライアントからサーバー側に送られているよう。

以下2つのエントリを参照されたし。
centos に gitolite 導入, あとロケール問題 - Please Sleep

yano3.hatenablog.jp

確かにローカルマシンでlocaleコマンド打ってもLC_CTYPE=UTF-8と出る。
となると問題はターミナルアプリなので設定を見直す。

yuzuemon.hatenablog.com

Profiles -> Terminal -> Set locale variables automaticallyのチェックを外す。

注意点

tmuxのセッションなどを作りなおしてもダメだったので、iTerm2ごと再起動した。

$ locale
LANG="ja_JP.UTF-8"
LC_COLLATE="ja_JP.UTF-8"
LC_CTYPE="ja_JP.UTF-8"
LC_MESSAGES="ja_JP.UTF-8"
LC_MONETARY="ja_JP.UTF-8"
LC_NUMERIC="ja_JP.UTF-8"
LC_TIME="ja_JP.UTF-8"
LC_ALL=

これでメッセージは出なくなった。