Skip to main content

perl: warning: Setting locale failed … LC_ALL = (unset) の解決案

現象

問題に該当するかを試すには以下のコマンドを利用できます。

perl -e exit

これを実行して以下のようなエラーが発生します。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_GB.UTF-8"
  are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").

解決案

en_GB.UTF-8 と en_US.UTF-8 どちらでも良いですがラズベリーパイの場合デフォルト en_GB.UTF-8 の場合が多いです。私は en_US.UTF-8 を利用します。

nano ~/.bashrc

最後に以下を追加します。

export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_TYPE=en_US.UTF-8

システムで en_US.UTF-8 を有効化する必要があるため

nano /etc/locale.gen

を開いて en_US.UTF-8 のコメントを消します。

...
# en_US.ISO-8859-15 ISO-8859-15
en_US.UTF-8 UTF-8
# en_ZA ISO-8859-1
...

以下のコマンドを実行します。

locale-gen

ログアウトしてもう一度ログインして、

perl -e exit

を実行します。同じエラーが発生しなければ問題が解決できました。

Jingwood

北海道の田舎で暮らしているプログラマーです。最近山登りにハマりました。

Leave a Reply

Your email address will not be published. Required fields are marked *