BadValue無効か、ユーザーロケールが設定されていません。LANGおよび/またはLC_ *環境変数が正しく設定されていることを確認してください


136

を実行するとmongo、次の警告が表示されます。

グローバル初期化に失敗しました:BadValueが無効か、ユーザーロケールが設定されていません。LANGおよび/またはLC_ *環境変数が正しく設定されていることを確認してください。

回答:


343

端末で以下のコマンドを使用できます

export LC_ALL=C

31
オールシーズンで使用するには:echo "export LC_ALL = C" >>〜/ .bashrc
benek

3
端末でのみ実行します。サーバーではない
lingyfh

1
この方法は、現在の見解のためだけに、一度だけ、永遠にではありません!
GeekHades 2017年

2
こんにちは、私は誤ってこの質問に反対票を投じましたが、見逃しました。現在は削除できません。それは私の投票がロックされていると言います。本当にごめん。他に方法がある場合は、お知らせください。
Nidhin David、2017

3
「LC_ALL = C」は何をするのでしょうか。unix.stackexchange.com/questions/87745/what-does-lc-all-c-do
DLight

85

ロケールの生成

不足しているロケールは、locale-genで生成されます。

locale-gen en_US.UTF-8

あるいは、localedef:[1]を使用して、ロケールファイルを手動で作成できます。

localedef -i en_US -f UTF-8 en_US.UTF-8

ロケール設定の設定

ロケール設定はen_US.UTF-8、次のように設定できます(例ではto )。

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

このdpkg-reconfigure localesコマンドは、希望するロケールを選択するためのダイアログをDebianで開きます。このダイアログはUbuntuでは表示されません。Ubuntuでのロケール設定に関する記事は、Ubuntuに関する情報を見つける方法を示しています。


これはラズベリーで私のためにそれをしました:sudo localedef -i en_US -f UTF-8 en_US.UTF-8ありがとうございます!!
ミルコ

32
vim /etc/default/locale

それに追加:

LC_ALL="en_US.UTF-8"

他の答えは永続的な解決策ではありません。接続するたびにこれらのコマンドを入力する必要があります。そのファイルを一度だけ編集するのが完璧な解決策です!ありがとう
Damien Romito

これは私のために働いた唯一の永久的な解決策です。間違いなく、より多くの賛成投票に値します!
Philipp Jahoda 2016

1
働いた。注意すべき重要な点は、これを機能させるためにはログアウトして再度ログインする必要があるということです。
BorisS 2017年

24

/ etc / environmentファイルに次の行を追加するとうまくいきました

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

このファイルを保存するには?
Habib 2018

21

Amazon Linux AMI

ohmyzshの永続的なソリューション:

$ vim ~/.zshrc

以下に書いてください:

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

現在のシェルの変更を次のように更新します。 $ source ~/.zshrc


0

不足しているローカルlangヘルパーを追加する必要があります。私にとって不足しているものはde_LU de_LU.UTF-8です。Mongo 2.6.4はmongo 2.6.5で動作しましたが、これでエラーが発生しました


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.