Cómo solucionar una advertencia de configuración regional de Perl
Cuando ejecuto perl
, aparece la advertencia:
perl: advertencia: Error al configurar la configuración regional. perl: advertencia: verifique que su configuración regional: IDIOMA = (desarmado), LC_ALL = (desarmado), IDIOMA = "en_US.UTF-8" son compatibles e instalados en su sistema. perl: advertencia: volver a la configuración regional estándar ("C").
¿Cómo lo soluciono?
A continuación se explica cómo solucionarlo en Mac OS X v10.7 (Lion) o Cygwin (Windows 10):
Agregue las siguientes líneas a su archivo bashrc o bash_profile en la máquina host:
# Setting for the new UTF-8 terminal support in Lion
export LC_CTYPE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Si está utilizando Z Shell (zsh), edite el archivo zshrc :
# Setting for the new UTF-8 terminal support in Lion
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Su sistema operativo no lo sabe en_US.UTF-8
.
No mencionaste una plataforma específica, pero puedo reproducir tu problema:
% uname -a OSF1 hunter2 V5.1 2650 alfa % perl -e salir perl: advertencia: Error al configurar la configuración regional. perl: advertencia: verifique que su configuración regional: LC_ALL = (desarmado), IDIOMA = "en_US.UTF-8" son compatibles e instalados en su sistema. perl: advertencia: volver a la configuración regional estándar ("C").
Supongo que usaste ssh para conectarte a este host más antiguo desde una máquina de escritorio más nueva. Es común que /etc/ssh/sshd_config
contenga
AcceptEnv LANG LC_*
lo que permite a los clientes propagar los valores de esas variables de entorno en nuevas sesiones.
La advertencia le da una pista sobre cómo silenciarlo si no necesita la configuración regional completa:
% env LANG=C perl -e salida %
o con Bash:
$ LANG=C perl -e salir ps
Para una solución permanente, elija uno de
- En el host anterior, configure la
LANG
variable de entorno en el archivo de inicialización de su shell. - Modifique su entorno en el lado del cliente, por ejemplo , en lugar de
ssh hunter2
utilizar el comandoLANG=C ssh hunter2
. - Si tiene derechos de administrador, evite que ssh envíe las variables de entorno comentando la
SendEnv LANG LC_*
línea en el archivo local/etc/ssh/ssh_config
. (Gracias a esta respuesta . Consulte el error 1285 para OpenSSH para obtener más información).
Si está creando un rootfs usando debootstrap, necesitará generar las configuraciones regionales. Puedes hacer esto ejecutando:
# (optional) enable missing locales
sudo nano /etc/locale.gen
# then regenerate
sudo locale-gen
Este consejo proviene de https://help.ubuntu.com/community/Xen