erreur lors de l'installation de mongo dans une machine virtuelle

40

J'essaie d'installer mongo en utilisant la documentation mongo: Installez MongoDB sur Ubuntu no des erreurs ont été mentionnées lors de l'installation. Mais lorsque j'exécute la commande mongo , l'erreur suivante s'affiche dans le terminal.

  

Initialisation globale échouée: BadValue Non valide ou aucun paramètre régional utilisateur défini. Veuillez vous assurer que les variables d’environnement LANG et / ou LC_ * sont définies correctement

    
posée Gayan Charith 14.10.2014 - 10:19
la source

4 réponses

89

Il semble que vos paramètres de locale soient inexistants ou inexistants sur cette machine virtuelle, ou au moins sur cette session. cette VM. L'une des dépendances de MongoDB ( boost ) échouera si les paramètres régionaux ne sont pas correctement définis (voir SERVER-9032 ). À titre de référence, avant la modification de SERVER-9032, ce problème se produisait toujours, mais ressemblait à ceci .

Parfois, la déconnexion et la restauration peuvent résoudre le problème (uniquement pour la session en cours), ou vous pouvez essayer sudo locale-gen pour vous assurer que la génération est réussie.

En attendant, en guise de solution pour faire fonctionner mongo (ou mongod etc.), il suffit de définir manuellement votre variable LC_ALL avant de lancer le programme:

export LC_ALL=C
mongo 
    
réponse donnée Adam C 15.10.2014 - 11:43
la source
15

J'ai aussi essayé d'installer MongoDB sur Ubuntu 12.04 et j'ai eu la même erreur sur une machine virtuelle (XEN). Pour moi, modifier /etc/default/locale a fait l'affaire. Je l'ai fait fonctionner avec ces paramètres:

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

Ou, une autre configuration de travail serait (attention aux citations et à: en):

LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
LC_ALL="en_US.UTF-8"

La solution de rechange d’Adam C avec export a également été utile et constitue probablement la réponse la plus élaborée.

    
réponse donnée LeBird 03.12.2014 - 17:38
la source
4

Bien que les autres réponses fournies ici résolvent le problème correctement, la question de Stackoverflow suivante m'a amené à savoir quel était le problème réel lorsque MongoDB était présent. installé dans une VM Vagrant et obtenir l'erreur ci-dessus:

  

Ce problème est dû au fait que la machine hôte a placé les paramètres régionaux sur l'invité via ssh.

Ainsi, la réponse suggérant de remplacer les paramètres régionaux de l’hôte dans le fichier Vagrant le résout en permanence avec une simple ligne:

Vagrant.configure(2) do |config|

    ENV['LC_ALL']="en_US.UTF-8"

    # ...

end

Notez également que le commentaire ne modifie pas la valeur LC_ALL réelle sur l’hôte.

    
réponse donnée conceptdeluxe 09.04.2016 - 04:42
la source
1

Sur la base de cet lien , vous pouvez simplement:

$ 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.
    
réponse donnée psychok7 09.12.2015 - 16:34
la source

Lire d'autres questions sur les étiquettes