【CentOS8】dnf実行時のエラー「Failed to set locale, defaulting to C.UTF-8」
CentOS8の環境構築でdnfでアプリケーションをインストールしようとした際に、以下のようなエラーが表示されました。
dnf list php*
Failed to set locale, defaulting to C.UTF-8
〜以下略〜
色々調べてみると文字コードの問題らしく、日本語パッケージをインストールすると解決する、とのこと。
参考
RHEL8でコマンド実行時に Failed to set locale, defaulting to C と表示される
参考
yumコマンドでFailed to set locale, defaulting to Cとなった時の対応方法
locale -a
上記のコマンドを実行すると、たしかに日本語(ja_JP)は一覧に出てこない。
cat /etc/locale.conf
LANG=ja_JP.utf8
上記のコマンドを実行すると、日本語を設定することになっている。
つまり日本語設定できない状況なのに、設定してしまっていることが問題のようなので、
日本語パッケージをインストールしてあげる。
dnf -y install langpacks-ja
こうするとエラーが消えました。
おまけ:langpacks-jaをアンインストール
何故かわかりませんが、
dnf -y remove langpacks-ja
を実行した後でもう一度試してみたのですが、エラーは出ませんでした。