廃墟

本ブログは更新を終了しました。 技術的な記事のみ、有用性を鑑みて残しておきます。

サーバー上のsshとかgitでperlのLANG系エラーが出る時の対処法

gitからだとこんなエラー。めっちゃうざいよね。

remote: perl: warning: Setting locale failed.
remote: perl: warning: Please check that your locale settings:
remote: 	LANGUAGE = (unset),
remote: 	LC_ALL = (unset),
remote: 	LANG = "ja_JP.UTF-8"
remote:     are supported and installed on your system.
remote: perl: warning: Falling back to the standard locale ("C").

サーバー側の sshd_config を編集して

AcceptEnv LANG LC_*

をコメントアウトしてSSHサーバーを再起動すればOK。

解説

簡単にいうと、SSHで接続した時に、そのとき使うロケール情報(≒ローカルでの言語設定)をサーバーに送っていて、サーバー側でもそれが使われるんだけど、使われるロケールがないからエラーを吐くという間抜けをやらかしてる。

他の対処法もあるけれど、こっちの方が余計なロケールのパッケージとか入れなくて済むのでお勧めです。