我有这个确切的问题,但没有解决方案。我试过了,但没有用
$ 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
Run Code Online (Sandbox Code Playgroud)
这是因为 en_US.UTF-8 和 en_US.utf8 不匹配吗?
怎么修?
小智 75
打开终端并执行以下命令:
export LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
raa*_*rts 75
当您通过 ssh 从 Mac 登录到 linux 机器并且您的终端自动设置环境变量时,可能会发生同样的问题(LC_CTYPE=UTF-8,这是错误的)。有一个复选框。取消选中它,你就可以开始了。
在 iTerm 中,它位于配置文件 -> 终端选项卡中。
在终端中,它位于终端 -> 首选项 -> 配置文件 -> 高级选项卡中。
San*_*avi 41
我遇到了类似的问题,并在我的/etc/default/locale文件中添加了以下几行:
LC_CTYPE="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
我从这篇文章中得到了这个:如何解决我的语言环境问题?
Jon*_*uez 38
生成缺少的语言环境并使用以下命令选择所需的默认值:
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
小智 13
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
sudo dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)
小智 10
这个命令救了我的命
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
Run Code Online (Sandbox Code Playgroud)
该locale命令的输出表明您的环境中有此不正确的行:
LC_CTYPE="UTF-8"
Run Code Online (Sandbox Code Playgroud)
(“UTF-8”不是有效的语言环境名称。)
它通常来自/etc/default/locale. 请删除该行(如果存在),然后重新登录。
如果它不是来自那里,它可能来自你的 shell 配置,或者如果你通过 SSH 远程登录,来自客户端机器的配置。