首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装到nix-shell时缺少拼写字典

安装到nix-shell时缺少拼写字典
EN

Stack Overflow用户
提问于 2017-11-28 23:34:54
回答 1查看 879关注 0票数 4

当我在Mac上使用Nix在全局env中安装带有A拼写字典的A拼写包时:

代码语言:javascript
复制
$ nix-env -iA nixpkgs.aspell nixpkgs.aspellDicts.en

然后,阿法尔的行为与我所期望的一样:

代码语言:javascript
复制
$ aspell dump dicts

en
en-variant_0
...

但是,如果我将包安装到nix-shell中,则字典似乎没有正确安装:

代码语言:javascript
复制
$ 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外壳中,
  • 将nix表达式放入default.nix文件并运行nix-shell
  • 安装其他拼写词典

有人能给我建议一下怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-29 07:31:16

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

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

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
nix-build -E 'with import <nixpkgs> {}; aspellWithDicts (d: [d.en])'

这将硬编码ASPELL_CONF,因此不需要再考虑这些环境变量。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47542706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档