2015-09-04 3 views
8

हर बार जब मैं इलीक्सिर कोड निष्पादित करता हूं या iex दर्ज करता हूं तो इस चेतावनी को कैसे हल किया जाए?वीएम लैटिन 1 के मूल नाम एन्कोडिंग के साथ चल रहा है जो एलीक्सिर को खराब होने का कारण बन सकता है क्योंकि यह utf8

चेतावनी: वीएम लैटिन 1 के देशी नाम एन्कोडिंग के साथ चल रहा है जो एलीक्सिर को खराब होने का कारण बन सकता है क्योंकि यह utf8 की अपेक्षा करता है। अपने स्थान कृपया सुनिश्चित करें कि UTF-8

$ 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 
LANG=en_US.utf8 
LANGUAGE=en_US: 
LC_CTYPE=UTF-8 
LC_NUMERIC="en_US.utf8" 
LC_TIME="en_US.utf8" 
LC_COLLATE="en_US.utf8" 
LC_MONETARY="en_US.utf8" 
LC_MESSAGES="en_US.utf8" 
LC_PAPER="en_US.utf8" 
LC_NAME="en_US.utf8" 
LC_ADDRESS="en_US.utf8" 
LC_TELEPHONE="en_US.utf8" 
LC_MEASUREMENT="en_US.utf8" 
LC_IDENTIFICATION="en_US.utf8" 
LC_ALL= 

$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description: Ubuntu 14.04 LTS 
Release:  14.04 
Codename:  trusty 

उत्तर

6

जाहिर सेट नहीं LC_ALL= मुद्दा था (जो आपके खोल में "स्थान" चलाकर सत्यापित किया जा सकता) पर सेट है, मैं

$ cat /etc/default/locale 
LANG="en_US.utf8" 
LANGUAGE="en_US:" 

सुनिश्चित जाँच LC_ALL याद आ रही है, इसे ठीक करने, मैं मार डाला:

$ sudo update-locale LC_ALL=en_US.UTF-8 

वें

$ cat /etc/default/locale 
LANG="en_US.utf8" 
LANGUAGE="en_US:" 
LC_ALL=en_US.UTF-8 

और त्रुटि चला गया है: आदेश /etc/default/locale फाइल करने के लिए LC_ALL जोड़ा जाता है।

+2

में और अधिक पढ़ें दिलचस्प हिस्सा यहाँ है: [erl_sys_common_misc.c] (https://github.com/erlang/otp/blob/a2670f0822fc6729df956c8ec8c381340ff0a5fb/erts/emulator/sys/common/erl_sys_common_misc.c) –

+0

@ पीटर Bagyinszki संदर्भ के लिए धन्यवाद! –

+0

उबंटू 14.04 पर मेरे लिए काम नहीं करता है ... – Informatom

0

मेरे लिए मेरी init स्क्रिप्ट /etc/init/my_start_script.conf में स्थानीय सेटिंग चाल

env LC_ALL=en_US.UTF-8 
export LC_ALL 
2

किया मैं एक डोकर कंटेनर के अंदर erlang उपयोग कर रहा हूँ और अन्य समाधान इसे काट नहीं किया। आदेश update-locale एक डॉकर उबंटू कंटेनर के अंदर उपलब्ध नहीं हो सकता है, इसलिए मैंने कुछ कोड चुरा लिया है जो इसे https://hub.docker.com/r/voidlock/erlang/~/dockerfile/ से इंस्टॉल करता है।

apt-get update && apt-get install -y --no-install-recommends locales 
export LANG=en_US.UTF-8 \ 
    && echo $LANG UTF-8 > /etc/locale.gen \ 
    && locale-gen \ 
    && update-locale LANG=$LANG 
2

यह तब होता है जब आप एक Linux सर्वर (अपने लैपटॉप पर चल रहे एक आभासी Linux सर्वर सहित) के लिए अपने मैक लैपटॉप से ​​SSH। एसएसएच LANG और LC_* स्थानीय शैल से रिमोट शैल तक पर्यावरण चर को आगे बढ़ाता है, और मैक पर उपयोग किए गए कुछ मान लिनक्स सर्वर पर मान्य नहीं हैं।

समस्या को सर्वर पर लापता लोकेशंस स्थापित करने सहित विभिन्न तरीकों से तय किया जा सकता है। मैं बस एसएसएच पर्यावरण अग्रेषण को अक्षम करने की अनुशंसा करता हूं, या तो सर्वर पर (AcceptEnv/etc/ssh/sshd_config में हटाएं) या लैपटॉप पर /etc/ssh/ssh_config में हटाएं)।

How to fix a locale setting warning from Perl?

संबंधित मुद्दे