MongoDB mongorestore klaida: locale :: facet :: _ S_create_c_locale pavadinimas neteisingas

Kompiuteryje A („ubuntu 12.04“ serveris) sukūriau „dump“ su „mongodump“. Perkėliau jį į kompiuterį B (serverio ubuntu 12.04) ir įvedžiau:

mongorestore -db db_name --drop_dump_path

Nepavyko, ir jis pranešė:

Sujungta su: 127.0.0.1
nutraukti skambutį, kai skambinate „std :: runtime_error“ pavyzdžiu
kas (): locale :: facet :: _ S_create_c_locale vardas neteisingas
Atšaukta

Aš sėkmingai atlikiau šią operaciją ir šis keistas elgesys niekada nebuvo.

Bet kokia pagalba yra vertinama. Ačiū.

96
30 сент. nustatė Luca Anceschi rugsėjo 30 d 2013-09-30 20:56 '13, 20:56, 2013-09-30 20:56
@ 6 atsakymai

Tiesą sakant, tai nėra griežtai susijusi su „MongoDB“. Kažkaip kalba kompiuteryje B nebuvo teisingai apibrėžta. Man tai pavyko išspręsti įvesdami:

sudo locale-gen en_US ru_US.UTF-8
sudo locale gen it_IT it_IT.UTF-8
sudo locale-gen xx_xx xx_XX.UTF-8 ...
sudo dpkg-reinfigure locales

Šios komandos sukurs ir sukonfigūruos būtinas vietoves. Po šių žingsnių mongorestore sugrįžo kaip įprasta.

45
01 окт. Luca Anceschi atsakymas 2013-10-01 13:51 '13, 13:51, 2013-10-01 13:51

Mano paskyroje „locale-gen“ nebuvo įdiegta, ir paaiškėjo, kad viskas, ką turėjau padaryti, buvo nustatyti aplinkos kintamąjį LC_ALL. todėl ši komanda nustatė:

 export LC_ALL="en_US.UTF-8" 

tikiuosi, kad tai padės kitam ...

234
11 нояб. Keisaro atsakymas 11 nov. 2013-11-11 14:25 '13, 14:25, 2013-11-11 14:25

Eksportuoti LC_ALL="en_US.UTF-8" veikia tik tada, kai nustatytas LC_ALL="en_US.UTF-8" kalbos standartas. Jei norite išvengti lokalinio paketo (arba jo ekvivalento, skirto kitiems nei „Debian“ išvestiniams produktams), įdiegimo, galite naudoti:

 export LC_ALL=C.UTF-8 

kuri nereikalauja papildomų lokalės duomenų.

13
27 янв. atsakymas duotas josch sausio 27 d 2016-01-27 16:26 '16 16:26 2016-01-27 16:26

Jei norite atlikti nuolatinį pataisymą, galite redaguoti vieną iš šių failų:

  • sudo vim / etc / default / locale
  • sudo vim / etc / environment

Ir pridėkite eilutę LC_ALL="en_US.UTF-8"

8
24 сент. atsakymas, kurį pateikė Sebastien Lorber 2015-09-24 16:12 '15, 16:12 pm 2015-09-24 16:12

Jei naudojate „Mac OSX“ ir „SSH“, tai gali būti neteisingas LC_CTYPE.

 $ locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory > 

Pašalinkite klaidingą var.

 $ unset LC_CTYPE 

Patikrinkite, ar lokalė veikia tinkamai.

 $ locale > 

Dabar mango taip pat turi būti sėkmingas.

8
16 июня '15 в 20:06 2015-06-16 20:06 atsakymą pateikė vartotojo1219736 birželio 16 d. 15 val. 2015-06-16 20:06

Jūs turite tą pačią problemą debian 7 sistemoje be diegimo lokalės (komanda nerasta).

Aš nusprendžiau:

 su apt-get install locales dpkg-reconfigure locales # select locales you want! 

Dabar mongodbas turi pradėti.

Šaltinis

7
13 дек. Atsakymas duotas Daniele Brugnara 13 d. 2013-12-13 16:07 '13, 16:07, 2013-12-13 16:07