gpt4 book ai didi

nix - 安装到 nix-shell 时缺少 Aspell 词典

转载 作者:行者123 更新时间:2023-12-04 16:08:21 28 4
gpt4 key购买 nike

当我在 Mac OSX 上使用 Nix 将带有 Aspell 英语词典的 Aspell 软件包安装到我的全局环境中时:

$ nix-env -iA nixpkgs.aspell nixpkgs.aspellDicts.en

然后 Aspell 的行为正如我所期望的:
$ aspell dump dicts

en
en-variant_0
...

但是,如果我将软件包安装到 nix-shell 中,那么字典似乎没有正确安装:
$ nix-shell -p aspell aspellDicts.en --pure

$ aspell dump dicts
# nothing printed

$ echo 'word lister to check' | aspell --list
Error: No word lists can be found for the language "en_US".

以下每个变体都会产生相同的问题行为:
  • 安装到不纯的 nix-shell,
  • 将 nix 表达式放入 default.nix 文件并运行 nix-shell .
  • 安装其他 Aspell 词典

  • 谁能建议如何让这个工作?

    最佳答案

    aspell二进制文件由 NixPkgs 包装,通过 ASPELL_CONF 提供安装路径环境变量,如果尚未指定。 (详情请见 cat -v result/bin/aspell)

    您可以指定 ASPELL_CONF手动,或使用 NIX_PROFILES环境变量。例如:

    $ nix-build -E 'with import <nixpkgs> {};
    buildEnv { name = "aspell-env"; paths = [aspell aspellDicts.en]; }'

    $ NIX_PROFILES=./result ./result/bin/aspell dump dicts
    en
    en-variant_0
    [...]
    en_US-wo_accents

    但是,如果您想构建一个独立的 aspell用字典安装,你可以使用 aspellWithDicts :
    nix-build -E 'with import <nixpkgs> {}; aspellWithDicts (d: [d.en])'

    这将对 ASPELL_CONF 进行硬编码,因此您无需再次考虑那些环境变量。

    关于nix - 安装到 nix-shell 时缺少 Aspell 词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47542706/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com