Perl:警告:在Debian和Ubuntu中设置区域设置失败
我正在尝试安装软件包并做其他工作。
但是,收到显示为
perl: warning: Setting locale failed. perl: warning: Please check that your locale settings:
perl的错误:警告:设置区域设置失败。 perl:警告:请检查您的语言环境设置:
如何在Debian Linux服务器上解决此问题?
基于Perl的应用程序调用时显示警告消息。
例如,apt/apt-get在内部使用Perl来管理Debian或者Ubuntu Linux中的软件包。
Perl:警告:在Debian和Ubuntu中设置区域设置失败
这是由apt-get命令/apt命令创建的示例会话:
$ sudo apt-get install iperf
了解Ubuntu和Debian Linux中的语言环境
语言环境是在多种语言之间切换的框架,允许用户使用他们的语言,国家/地区,字符,排序规则,日期和时间等。
请确保设置用于生成UTF-8语言环境的语言环境。
可以设置其他字符集,以便与旧系统和软件向后兼容。
如何修复Perl:警告:在Debian和Ubuntu中设置区域设置失败
执行以下命令对其进行修复。
我正在使用en_US.UTF-8。
您可以使用cat命令在/etc/locale.gen中查看所有本地化的列表:
cat /etc/locale.gen
或者
more /etc/locale.gen
另一种选择是使用grep命令搜索特定的语言环境。
## For example, search for English India ## grep en_IN /etc/locale.gen ## Search for English US ## grep en_US /etc/locale.gen ## Search for Japanese ## grep ja_JP /etc/locale.gen
了解ja_JP.UTF-8或者en_US.UTF-8
ja_JP.UTF-8为日语用户定义了如下字符编码:
- 语言环境为ja_JP
- 编码为UTF-8
同样,en_US.UTF-8适用于来自美国的英语用户:
- 因此语言环境设置为en_US
- 并将编码设置为UTF-8
要在屏幕上查看有关当前语言环境或者所有语言环境的当前信息,请运行locale命令:
locale
输出示例:
LANG=en_IN.UTF-8 LC_CTYPE="en_IN.UTF-8" LC_NUMERIC=en_IN.UTF-8 LC_TIME=en_IN.UTF-8 LC_COLLATE="en_IN.UTF-8" LC_MONETARY=en_IN.UTF-8 LC_MESSAGES="en_IN.UTF-8" LC_PAPER=en_IN.UTF-8 LC_NAME="en_IN.UTF-8" LC_ADDRESS="en_IN.UTF-8" LC_TELEPHONE="en_IN.UTF-8" LC_MEASUREMENT=en_IN.UTF-8 LC_IDENTIFICATION="en_IN.UTF-8" LC_ALL=
如何在Debian或者Ubuntu Linux上生成语言环境
运行locale-gen命令从/etc/locale.gen为美国英语用户生成语言环境:
$ sudo locale-gen
或者
$ sudo locale-gen en_US.UTF-8
一个人也可以运行以下命令:
$ sudo localedef -i en_US -f UTF-8 en_US.UTF-8
如何在Debian和Ubuntu Linux中修复来自Perl的语言环境设置警告
我个人使用导出命令,locale-gen命令和dpkg-reconfigure命令的组合对其进行了如下修复:
$ sudo export LANGUAGE=en_US.UTF-8 $ sudo export LANG=en_US.UTF-8 $ sudo export LC_ALL=en_US.UTF-8 $ sudo locale-gen en_US.UTF-8
输出示例:
Generating locales (this might take a while)... en_US.UTF-8... done Generation complete.
打开对话框:
$ sudo dpkg-reconfigure locales
接下来,设置默认值以修复来自Perl的语言环境设置警告:现在,您可以设置正确的语言环境并使用apt/apt-get进行测试:
$ sudo apt install foo