无法设置语言环境;确保 $LC_* 和 $LANG 正确!

无法设置语言环境;确保 $LC_* 和 $LANG 正确!

更新

我发现了问题。设置语言变量后我需要重新登录。但我想知道的是:我如何在流浪脚本中重新登录?这可能吗?

介绍

我已经在其他线程上读到过这个问题

未找到语言环境/设置语言环境失败 - 我该怎么办?

但这并没有真正帮助我。接受的答案询问所需语言的行是否未注释(/etc/locale.gen在我的情况下),但它仍然不起作用。

我想要实现的目标
我正在构建一个 Vagrant 盒子,debian/jessie64它应该自动将语言变量设置为德语。我的 vagrant 文件夹中有locale.gen一个文件,应该/etc/locale.gen用此命令替换默认的文件

sudo cp /var/www/project/www/vagrant_ressources/locale.gen /etc/

这些是内容locale.gen

de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
de_DE@euro ISO-8859-15
en_US.UTF-8 UTF-8

之后我用 重新生成当地人sudo locale-gen。这是输出

Generating locales (this might take a while)...
  de_DE.ISO-8859-1... done
  de_DE.UTF-8... done
  de_DE.ISO-8859-15@euro... done
Generation complete.

现在我正在尝试安装软件包sudo apt-get install -y php7.0-fpm并收到警告

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "de_DE.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

为什么会de_DE.UTF-8出现在那里?我也想在不使用的情况下执行此操作,dpkg-reconfigure因为这是一个无需用户输入即可完成所有操作的脚本。只需dpkg-reconfigure创建locale.gen文件,仅此而已,对吧?

另外,当使用sudo dpkg-reconfigure locales我自己的文件中的条目时locale.gen,已经选择了。所以这似乎是这个作品的一部分。

输入locale -a这些是结果

C
C.UTF-8
de_DE
de_DE@euro
de_DE.iso88591
de_DE.iso885915@euro
de_DE.utf8
deutsch
german
POSIX

答案1

此刻的你看似变了,LC_CTYPE却又没有变LANG

确保您更新/etc/default/locale正确。然后你就可以source /etc/default/locale在运行 locale-gen 之后。

相关内容