【发布时间】:2020-09-28 21:44:40
【问题描述】:
在没有shell.nix 文件的情况下运行nix-shell 时会弹出以下警告:
$ nix-shell -p glibcLocales
bash: warning: setlocale: LC_TIME: cannot change locale (en_GB.UTF-8): No such file or directory
[nix-shell:~]$
如果发现几篇关于将环境变量 LOCALE_ARCHIVE_2_27 设置为某个路径的帖子。如何自动将这样的环境变量设置为正确的路径?使用一些shell.nix 文件会有帮助吗?
编辑:我的语言环境设置如下:
$ cat /etc/locale.conf
LANG="en_US.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_TIME="en_GB.UTF-8"
如果我从/etc/locale.conf 中删除LC_TIME="en_GB.UTF-8",那么即使使用了LC_TIME="en_GB.UTF-8" nix-shell -p glibcLocales,警告也不会出现。
在 Fedora 32 上使用 nix-2.3.6
$ nix-channel --list
nixpkgs https://nixos.org/channels/nixpkgs-unstable
【问题讨论】:
-
你好!只是为了确保我在查看之前尝试在正确的平台上进行复制——这是 NixOS,还是其他平台上的 Nix?哪个 nixpkgs 发布/频道? (Nix 版本远不如频道重要,因为这是
glibcLocales定义的来源)。 -
你好@CharlesDuffy,我已经更新了我的问题。这能回答你的问题吗?
-
是的,这是一个不错的起点;不幸的是,我可用的环境都不是很接近的(不能在 NixOS 19.09 或 20.03 上重现,手头上没有 Fedora)。您能否将运行
locale的输出添加到问题中? (所有相关变量是设置为en_GB.UTF-8,还是只是一个子集?) -
我更新了我的问题,反映了关于
/etc/locale.conf的一件奇怪的事情。 -
顺便说一句。
/etc/locale.conf似乎来自 systemd。
标签: nix