वर्चुअल मशीन में मानगो स्थापित करने में त्रुटि


40

मैं मोंगो डॉक्यूमेंटेशन का उपयोग करके मोंगो को स्थापित करने का प्रयास करता हूं: उबंटू पर मोंगोबी स्थापित करें स्थापना के दौरान कोई त्रुटि नहीं बताई गई थी। लेकिन जब मैं mongoकमांड चलाता हूं तो टर्मिनल में एरर दिखाई देता है।

वैश्विक आरंभिक विफलता: बैडवैल्यू अमान्य या कोई उपयोगकर्ता स्थानीय सेट नहीं। कृपया सुनिश्चित करें कि LANG और / या LC_ * पर्यावरण चर सही ढंग से सेट हैं

जवाबों:


89

ऐसा लगता है कि आपकी localeसेटिंग्स उस वीएम पर टूटी हुई या गैर-मौजूद हैं, या कम से कम उस वीएम पर सत्र। MongoDB की निर्भरता ( बूस्ट ) में से एक तब विफल हो जाएगी जब एक लोकेल सही ढंग से सेट नहीं किया गया है (देखें SERVER-9032 )। संदर्भ के लिए, SERVER-9032 में परिवर्तन से पहले यह समस्या अभी भी हुई लेकिन इस तरह दिखती थी ।

कभी-कभी लॉग आउट और बैक में इसे ठीक कर सकते हैं (केवल वर्तमान सत्र के लिए टूट गया है), या आप sudo locale-genयह सुनिश्चित करने के लिए दौड़ने का प्रयास कर सकते हैं कि पीढ़ी सफल हो।

इस दौरान, चलने mongo(या mongodआदि) को प्राप्त करने के लिए वर्कअराउंड के LC_ALLरूप में, प्रोग्राम शुरू करने से पहले अपना वेरिएबल मैन्युअल रूप से सेट करें :

export LC_ALL=C
mongo 

क्या हम नया VM बनाते समय लोकेल को कॉन्फ़िगर करने वाले हैं?
एलेक्स

1
निर्भर करता है कि आप अपने ओएस को कैसे स्थापित करते हैं - अधिकांश सेटअप फ़्लो / UI आपके लिए यह पूछकर आपकी देखभाल करने जा रहे हैं कि आप कहां हैं और आप किस भाषा का उपयोग करते हैं - यदि आप पुराने स्कूल जाते हैं तो आपको संभवतः यह स्वयं करना होगा, लेकिन मुझे पूरा यकीन है कि मैंने सालों तक लोकेल चयन स्क्रीन नहीं देखी है। मूल रूप से, आपके लिए यह उम्मीद करना अनुचित नहीं है और आपको इसके बारे में तभी सुनना चाहिए जब इसे किसी तरह से खराब कर दिया जाए।
एडम सी।

धन्यवाद, यह एक CentOS Vm था इसलिए मुझे लगता है कि मुझे इसके लिए एक कार्य करने की आवश्यकता है!
एलेक्स

15

मैंने भी Ubuntu 12.04 पर MongoDB स्थापित करने की कोशिश की और एक आभासी मशीन (XEN) पर वही त्रुटि मिली। मेरे लिए, modifiying /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 भी मदद की और शायद अधिक विस्तृत जवाब है।


4

हालाँकि यहाँ दिए गए अन्य उत्तर समस्या को सही ढंग से हल करते हैं, लेकिन निम्नलिखित स्टैकओवरफ़्लो प्रश्न ने मुझे यह बताया कि वास्तविक समस्या क्या है जब MongoDB एक Vagrant VM में स्थापित किया गया है और उपरोक्त त्रुटि प्राप्त कर रहा है:

यह समस्या प्रकट होती है क्योंकि होस्ट मशीन ssh के माध्यम से अतिथि को लोकेल लगाती है।

इस प्रकार Vagrantfile के भीतर होस्ट लोकेल को ओवरराइड करने का सुझाव देने वाला उत्तर स्थायी रूप से सिर्फ एक पंक्ति के साथ हल करता है:

Vagrant.configure(2) do |config|

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

    # ...

end

टिप्पणी के बारे में भी ध्यान दें कि यह मेजबान पर वास्तविक LC_ALL मान को संशोधित नहीं करता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.