BadValue无效或无用户区域设置.请确保正确设置LANG和/或LC_*环境变量

Maj*_*ndi 128 linux ubuntu mongodb

当我跑步时mongo,我收到警告:

全局初始化失败:BadValue无效或无用户区域设置.请确保正确设置LANG和/或LC_*环境变量.

小智 327

你可以在终端上使用以下命令

export LC_ALL=C
Run Code Online (Sandbox Code Playgroud)

  • 要在所有季节都有它:echo"export LC_ALL = C">>〜/ .bashrc (27认同)
  • 仅在您的终端上执行.不是服务器 (3认同)
  • 对于那些想知道:"LC_ALL = C"有什么作用?https://unix.stackexchange.com/questions/87745/what-does-lc-all-c-do (3认同)
  • 嗨,我意外地投了这个问题并错过了它.现在我无法删除它.它说我的投票是锁定的.真的对不起.如果还有其他方式,请告诉我. (2认同)

Maj*_*ndi 84

生成区域设置

使用locale-gen生成缺少的语言环境:

locale-gen en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

或者,可以使用localedef手动创建语言环境文件:[1]

localedef -i en_US -f UTF-8 en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

设置区域设置

可以如下设置区域设置(en_US.UTF-8在示例中):

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales
Run Code Online (Sandbox Code Playgroud)

dpkg-reconfigure locales命令将在Debian下打开一个对话框,用于选择所需的语言环境.该对话框不会出现在Ubuntu下.Ubuntu中配置区域设置文章显示了如何查找有关Ubuntu的信息.


小智 31

vim /etc/default/locale
Run Code Online (Sandbox Code Playgroud)

添加到它:

LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)


Tim*_*Tim 24

将以下行添加到我的/ etc/environment文件中

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)


dim*_*iax 20

亚马逊Linux AMI

ohmyzsh的永久解决方案:

$ vim ~/.zshrc
Run Code Online (Sandbox Code Playgroud)

写在下面:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)

更新当前shell中的更改: $ source ~/.zshrc