내가 실행 perl
하면 경고 메시지가 나타납니다.
perl : 경고 : 로케일 설정에 실패했습니다. 펄 : 경고 : 로케일 설정을 확인하십시오 : 언어 = (설정 해제), LC_ALL = (설정 해제), LANG = "en_US.UTF-8" 시스템에서 지원 및 설치됩니다. perl : 경고 : 표준 로케일 ( "C")로 폴백합니다.
어떻게 고치나요?
~/.pam_environment
내가 실행 perl
하면 경고 메시지가 나타납니다.
perl : 경고 : 로케일 설정에 실패했습니다. 펄 : 경고 : 로케일 설정을 확인하십시오 : 언어 = (설정 해제), LC_ALL = (설정 해제), LANG = "en_US.UTF-8" 시스템에서 지원 및 설치됩니다. perl : 경고 : 표준 로케일 ( "C")로 폴백합니다.
어떻게 고치나요?
~/.pam_environment
답변:
귀하의 OS는에 대해 모른다 en_US.UTF-8
.
특정 플랫폼에 대해서는 언급하지 않았지만 문제를 재현 할 수 있습니다.
uname -a % OSF1 hunter2 V5.1 2650 알파 % perl -e 이탈 perl : 경고 : 로케일 설정에 실패했습니다. 펄 : 경고 : 로케일 설정을 확인하십시오 : LC_ALL = (설정 해제), LANG = "en_US.UTF-8" 시스템에서 지원 및 설치됩니다. perl : 경고 : 표준 로케일 ( "C")로 폴백합니다.
내 생각에 ssh를 사용하여 최신 데스크톱 컴퓨터 에서이 오래된 호스트에 연결합니다. /etc/ssh/sshd_config
포함하는 것이 일반적입니다
AcceptEnv LANG LC_*
이를 통해 클라이언트는 해당 환경 변수의 값을 새 세션으로 전파 할 수 있습니다.
경고는 전체 로케일이 필요하지 않은 경우 경고를 없애는 방법에 대한 힌트를 제공합니다.
% env LANG = C 펄 -e 이탈 %
또는 bash와 함께 :
$ LANG = C 펄 -e 이탈 $
영구 수정하려면 다음 중 하나를 선택하십시오.
dpkg-reconfigure locales
메시지 와 함께 de_CH.UTF-8 (지원되지 않았지만 로컬로 사용됨)을 추가 하면 사라집니다.
service ssh reload
초의 시간이 걸리고 현재 ssh 세션이 종료되지 않습니다.
Mac OS Lion (10.7) 또는 Cygwin (Windows 10)에서이 문제를 해결하는 방법은 다음과 같습니다.
호스트 시스템의 bashrc 또는 bash_profile에 다음 행을 추가하십시오.
# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
zsh를 사용하는 경우 zshrc를 편집하십시오.
# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_ALL
덮어 쓰기 다른 모든 변수, 차라리 설정 줄 LANG=de_AT.UTF-8
및 개별 변수 좋아 LC_MESSAGES=en_US.UTF-8
. 변수를 설정하지 않으면로 돌아갑니다 LANG
. 예를 들어. unset LC_CTYPE
강제로 다시 떨어집니다 LANG
.
~/.bashrc
나를 위해 해결되었습니다 ... 다음을 사용하여 다시로드해야합니다 source ~/.bashrc
... Thnks <3
debootstrap을 사용하여 rootfs를 작성하는 경우 로케일을 생성해야합니다. 다음을 실행하여이 작업을 수행 할 수 있습니다.
# (optional) enable missing locales
sudo nano /etc/locale.gen
# then regenerate
sudo locale-gen
Ubuntu Server
$ echo en_US UTF-8 >> /etc/locale.gen
먼저 해야 할 수도 있습니다 .
locale-gen
논쟁을하지 않습니다. 에서 읽습니다 /etc/locale.gen
.
사용하다:
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
데비안에서 작동합니다 . 이유를 모르겠지만 locale-gen에는 결과가 없습니다.
중대한! 임시 해결책입니다. 각 세션마다 실행해야합니다.
.bashrc
파일에 넣었습니다 .
local-gen
주석 처리되지 않은 로케일 만 처리합니다 /etc/local.gen
. echo en_US UTF-8 >> /etc/locale.gen
먼저 해야 할 수도 있습니다 .
이것은 일반적으로 Linux 상자에 로케일을 올바르게 설정하지 않았 음을 의미합니다.
데비안 또는 우분투에서는 그렇게해야합니다.
$ sudo locale-gen $ sudo dpkg- 로케일 재구성
man locale-gen 도 참조하십시오 .
sudo locale-gen es_UY.UTF-8
Git 을 사용하는 동안 같은 경고가 나타납니다.
이 경고를 해결하려면 옵션을 선택 취소 하고 Set locale environment variable on startup
터미널을 다시 시작하십시오. 아래 스크린 샷은 내 터미널 설정을 나타냅니다.
우분투에서 간단한 수정입니다. 명령 행에서 다음 명령을 실행하여 로케일을 처음부터 생성해야합니다.
sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales
로캘을 만든 다음 다시 구성해야합니다.
pt_BR pt_BR.UTF-8
-감사합니다.
/etc/environment
데비안과 우분투에서 문제를 해결하기 위해 다음을 추가하십시오 (물론 사용하려는 로케일과 일치하도록 수정하십시오).
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
/etc/environment
이 더 이상 사용되지 않으며 대신에 설정해야한다는 경고가 표시 됩니다 /etc/default/locale
. 둘 다 지금 작동하는 것 같습니다.
LC_CTYPE
나는 지금 이것을 사용하고있다 :
$ cat /etc/environment
...
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
그런 다음 SSH 세션에서 로그 아웃했다가 다시 로그인하십시오.
이전 답변 :
만이 나를 도왔다 :
$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=en_US.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
$ sudo su
# export LANGUAGE=en_US.UTF-8
# export LANG=en_US.UTF-8
# export LC_ALL=en_US.UTF-8
# locale-gen en_US.UTF-8
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
# dpkg-reconfigure locales
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZM.UTF-8... done
en_ZW.UTF-8... done
Generation complete.
# exit
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
많은 검색 후 데비안 에서이 트릭을 수행했습니다.
먼저:
sudo apt-get purge locales
그때:
sudo aptitude install locales
그리고 유명한 :
sudo dpkg-reconfigure locales
이것은 로케일 시스템을 제거한 다음 로케일을 다시 설치하고 libc6을 2.19에서 2.13으로 다운 그레이드합니다. 이것이 문제입니다. 그런 다음 로케일을 다시 구성하십시오.
dpkg-reconfigure locales
필요한 전부입니다. sudo
당신이 sudo 타입의 사람이라면, 또는 루트로해라. 그런 다음 쉘 환경에있는 로케일을 선택하십시오.
이것은 빠른 답변입니다. 재부팅 후 설정되지 않은 로케일을 설정합니다. 먼저 bash 파일을 열고 편집하십시오.
nano .bashrc
파일에 다음 줄을 추가하십시오.
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
bash를 다시로드하여 변경 사항을 활성화하십시오.
source ~/.bashrc
시험 결과 :
locale
당신이 사용하는 경우 맥 OS X의 v10.10 서버 리눅스에 연결하는 위 (요세미티) 또는 다음 단계를 시도 할 수 있습니다.
파일을 / etc / ssh / sshd-config 원본으로 유지
~ / .bash_profile을 착용하십시오
export LANG="en_US"
export LC_ALL=$LANG.UTF-8
운영
dpkg-reconfigure locales
그리고 "en_US.UTF-8"을 선택하십시오
sudo nano /etc/locale.gen
사용하려는 로캘의 주석 처리를 제거하십시오 (예 : en_US.UTF-8 UTF-8
:
그런 다음 다음을 실행하십시오.
sudo /usr/sbin/locale-gen
/etc/default/locale
, logout, login 에서 로케일을 적절히 구성한 다음 일반 명령을 실행해야합니다.
root@host:~# echo -e 'LANG=en_US.UTF-8\nLC_ALL=en_US.UTF-8' > /etc/default/locale
root@host:~# exit
local-user@local:~$ ssh root@host
root@host:~# locale-gen en_US.UTF-8
root@host:~# dpkg-reconfigure locales
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
해결책:
이것을 시도하십시오 ( uk_UA.UTF-8 은 현재 로케일입니다. 예를 들어 en_US.UTF-8 !
sudo locale-gen uk_UA.UTF-8
이.
sudo dpkg-reconfigure locales
올바른 로케일을 추가 ~/.bashrc
, ~/.bash_profile
, /etc/environment
그것에서 설정을 무시로 등이 문제를 해결할 것입니다, 그러나 그것은, 권장하지 않습니다/etc/default/locale
최상의 혼란, 그리고 최악의에서 일관되게 적용되는 로케일 발생할 수 있습니다.
대신 /etc/default/locale
직접 편집해야하며 다음과 같이 보일 수 있습니다.
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE=en_US
다음에 로그인 할 때 변경 사항이 적용됩니다. 다음 /etc/default/locale
과 같이 소싱하여 기존 셸에서 새 로캘을 가져올 수 있습니다 .
$ . /etc/default/locale
locale-gen
MacOS High Sierra의 iTerm2.app에서 DigitalOcean 또는 다른 Cloud 호스팅 제공 업체에 연결하고 일부 명령에서이 오류가 발생하는 사용자 :
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
이것은 나를 위해 문제를 해결했습니다.
나는이 스레드가 오래되었다는 것을 알고 있지만 누군가가 이것을 유용하게 사용할 수 있습니다. 나는 이것이 얼마나 성가신 일인지 안다.
언제나처럼, 악마는 자세하게 설명되어 있습니다 ...
에 맥 OS X의 v10.7.5 (사자), 일부 수정하는 장고 내에서 오류를 ~/.bash_profile
I의 한 세트 :
export LANG=en_EN.UTF-8
export LC_COLLATE=$LANG
export LC_CTYPE=$LANG
export LC_MESSAGES=$LANG
export LC_MONETARY=$LANG
export LC_NUMERIC=$LANG
export LC_TIME=$LANG
export LC_ALL=$LANG
그리고 오랫동안 Perl을 사용할 때 그 경고가 나타납니다.
내 잘못이야! 내가 훨씬 나중에 깨달았 듯이 내 시스템은 en_US.UTF-8
! 나는 단순히에서 변경하여 고정
export LANG=en_EN.UTF-8
에
export LANG=en_US.UTF-8
로캘 문제가 마음에 들지 않으면를 설정할 수 있습니다PERL_BADLANG=0
. 물론 이로 인해 잘못된 현지화가 발생할 수 있습니다.
이전의 모든 답변이 잘못되었습니다. 메시지가 명확합니다-로케일이 없습니다. 해결책은 적절한 로케일을 추가하는 것입니다. /etc/locale.gen 파일을 편집하여 누락 된 것으로보고 된 로케일 앞에있는 # 기호를 제거한 후 다음 명령을 실행하여이를 수행하십시오.
$ sudo locale-gen
이것은 실제로 /etc/locale.gen에 지정된 로케일을 생성하므로 메시지가 표시되지 않습니다.
필자의 경우 debian8.6을 사용하여 설정을 변경해야했습니다.
/etc/ssh/ssh_config
...에 대한 #AcceptEnv LANG LC_*
과
sshd_config
에 대한#SendEnv LANG LC_*
그런 다음 ssh 서비스를 다시 시작하십시오.
마침내
locale-gen en_US.UTF-8
과 dpkg-reconfigure locales
.bash_profile에 누락 된 로케일 추가
echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile
그런 다음 .bash_profile을 소싱하십시오.
source ~/.bash_profile
제 경우에는 이것이 출력이었습니다.
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "ro_RO.UTF-8",
LC_ADDRESS = "ro_RO.UTF-8",
....
해결책은 다음과 같습니다.
sudo locale-gen ro_RO.UTF-8
나를 위해 Ubuntu 16.04 (Xenial Xerus)에서 다음이 작동했습니다.
root@host:~#locale-gen en_GB.UTF-8
root@host:~#localectl set-locale LANG=en_GB.UTF-8,LC_ALL=en_GB.UTF-8
그런 다음 재부팅하십시오 ...