我也有同样的问题,但没有解决方案。我试过了,但没有用
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
$ locale -a
locale: Cannot set LC_CTYPE to default locale: No such file or directory
C
C.UTF-8
en_US.utf8
POSIX
这是因为 en_US.UTF-8 和 en_US.utf8 不匹配吗?
怎么修?
答案1
当您通过 ssh 从 Mac 登录到 Linux 机器时,可能会发生同样的问题(LC_CTYPE=UTF-8,这是错误的),并且您的终端会自动设置环境变量。有一个复选框可以解决这个问题。取消选中它,您就可以开始了。
在 iTerm 中,它位于配置文件 -> 终端选项卡中。
在终端中,它位于终端 -> 首选项 -> 配置文件 -> 高级选项卡中。
答案2
打开终端并执行以下命令:
export LC_ALL="en_US.UTF-8"
答案3
生成缺失的区域设置并选择所需的默认区域:
sudo dpkg-reconfigure locales
答案4
这个命令救了我的命
echo "LC_ALL=en_US.UTF-8" | sudo tee -a /etc/environment
echo "en_US.UTF-8 UTF-8" | sudo tee -a /etc/locale.gen
echo "LANG=en_US.UTF-8" | sudo tee -a /etc/locale.conf
sudo locale-gen en_US.UTF-8