mongo 문서를 사용하여 mongo를 설치하려고합니다 . Ubuntu에 MongoDB 설치 설치 중에 오류가 언급되지 않았습니다. 그러나 mongo
명령을 실행 하면 터미널에 다음 오류가 표시되었습니다.
글로벌 초기화 실패 : BadValue가 유효하지 않거나 사용자 로케일이 설정되지 않았습니다. LANG 및 / 또는 LC_ * 환경 변수가 올바르게 설정되어 있는지 확인하십시오
mongo 문서를 사용하여 mongo를 설치하려고합니다 . Ubuntu에 MongoDB 설치 설치 중에 오류가 언급되지 않았습니다. 그러나 mongo
명령을 실행 하면 터미널에 다음 오류가 표시되었습니다.
글로벌 초기화 실패 : BadValue가 유효하지 않거나 사용자 로케일이 설정되지 않았습니다. LANG 및 / 또는 LC_ * 환경 변수가 올바르게 설정되어 있는지 확인하십시오
답변:
당신과 같은 locale
설정이 파손 또는 VM에 존재하지 않는, 또는 VM에 적어도 해당 세션된다. 로케일이 올바르게 설정되지 않으면 MongoDB의 종속성 중 하나 ( boost )가 실패합니다 ( SERVER-9032 참조 ). 참고로 SERVER-9032를 변경하기 전에이 문제는 여전히 발생했지만 다음 과 같습니다 .
때때로 로그 아웃했다가 다시 로그인하여 문제를 해결하거나 (현재 세션에서만 손상됨) sudo locale-gen
생성을 성공적으로 수행 하기 위해 실행할 수 있습니다 .
그 사이에 mongo
(또는 mongod
등) 실행 을위한 해결 방법 LC_ALL
으로 프로그램을 시작하기 전에 변수를 수동으로 설정하십시오 .
export LC_ALL=C
mongo
또한 Ubuntu 12.04에 MongoDB를 설치하려고 시도했지만 가상 컴퓨터 (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"
Adam C의 해결 방법export
도 도움이되었으며 아마도 더 정교한 답변 일 것입니다.
여기에 제공된 다른 답변으로 문제를 올바르게 해결할 수 있지만 다음 Stackoverflow 질문을 통해 MongoDB를 Vagrant VM에 설치하고 위의 오류가 발생할 때 실제 문제가 무엇인지 알 수 있습니다.
이 문제는 호스트 시스템이 ssh를 통해 로케일을 게스트에 배치하기 때문에 나타납니다.
따라서 답 Vagrantfile 내에서 호스트 로케일을 재정의 제안 그냥 라인 영구적으로 해결 :
Vagrant.configure(2) do |config|
ENV['LC_ALL']="en_US.UTF-8"
# ...
end
또한 호스트의 실제 LC_ALL 값을 수정 하지 않는다는 의견에 유의하십시오 .
이 https://askubuntu.com/a/227513/59618 을 기반으로 다음을 수행 할 수 있습니다.
$ 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.