Ошибка установки монго на виртуальной машине
Я пытаюсь установить mongo, используя документацию mongo: Установите MongoDB в Ubuntu, при установке ошибок не было. Но когда я запускаю mongo
В терминале отображалась ошибка следования команды.
Не удалось выполнить глобальную инициализацию: BadValue Неверный или не задан языковой стандарт пользователя. Убедитесь, что переменные окружения LANG и / или LC_* установлены правильно
4 ответа
Выглядит как твой locale
параметры повреждены или отсутствуют на этой виртуальной машине или, по крайней мере, на этом сеансе. Одна из зависимостей MongoDB ( boost) завершится с ошибкой, если локаль установлена неправильно (см. SERVER-9032). Для справки, до изменения SERVER-9032 эта проблема все еще возникала, но выглядела так.
Иногда выход из системы и повторный вход могут это исправить (только для текущего сеанса), или вы можете попробовать запустить sudo locale-gen
чтобы убедиться, что поколение успешно.
В то же время, как обходной путь, чтобы получить mongo
(или же mongod
и т. д.), просто установите свой LC_ALL
переменная вручную перед запуском программы:
export LC_ALL=C
mongo
Я также попытался установить MongoDB на Ubuntu 12.04 и получил ту же ошибку на виртуальной машине (XEN). Для меня, модификация /etc/default/locale
сделал свое дело. Я получил это работает с этими настройками:
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_ALL=en_US.UTF-8
Или другой рабочий конфиг будет (обратите внимание на кавычки и:en):
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
LC_ALL="en_US.UTF-8"
Обход Адама Си сexport
также помог и, вероятно, является более сложным ответом.
Хотя другие ответы, представленные здесь, решают проблему правильно, следующий вопрос Stackoverflow привел меня к реальной проблеме, когда MongoDB установлен в Vagrant VM и появляется вышеуказанная ошибка:
Эта проблема возникает из-за того, что хост-компьютер поставил гостевой язык через ssh.
Таким образом, ответ, предлагающий переопределить языковой стандарт хоста в Vagrantfile, решает его навсегда с помощью только строки:
Vagrant.configure(2) do |config|
ENV['LC_ALL']="en_US.UTF-8"
# ...
end
Также обратите внимание на комментарии о том, что он не изменяет фактическое значение LC_ALL на хосте.
На основании этого /questions/601492/kak-mne-ispravit-problemu-s-lokalyu/601539#601539 вы можете просто:
$ sudo locale-gen "en_US.UTF-8"
Generating locales...
en_US.UTF-8... done
Generation complete.
$ sudo dpkg-reconfigure locales
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.