1

运行nix-env -i emacs-redo+给我一个错误。

inaimathi@self:~$ nix-env -i emacs-redo+
error: selector ‘emacs-redo+’ matches no derivations
inaimathi@self:~$

但这个包似乎存在,并且是可见的。

inaimathi@self:~$ nix-env -qa | grep emacs-redo
emacs-redo+-20131117.551
inaimathi@self:~$ 

给出确切的包名,然后转义+给我同样的错误。

inaimathi@self:~$ nix-env -i emacs-redo+-20131117.551
error: selector ‘emacs-redo+-20131117.551’ matches no derivations
inaimathi@self:~$ nix-env -i emacs-redo\+
error: selector ‘emacs-redo+’ matches no derivations
inaimathi@self:~$ nix-env -i emacs-redo\+-20131117.551
error: selector ‘emacs-redo+-20131117.551’ matches no derivations
inaimathi@self:~$ 

我究竟做错了什么?

4

1 回答 1

1

我不确定您是如何使命令nix-env -qa | grep emacs-redo成功的,但是我尝试以这种方式定位包都没有显示:

$ git checkout -q master && git log -1 --oneline 
310aadc Merge pull request #12557 from ryanartecona/nixos-manual-custom-options
$ nix-env -qa | grep -i redo
exit code: 1

$ git checkout -q release-15.09 && git log -1 --oneline 
5a4e183 linux: patch CVE-2016-0728 (close #12492)
$ nix-env -qa | grep -i redo
exit code: 1

$ git checkout -q release-14.12 && git log -1 --oneline 
9d6ba7d keepassx: 0.4.3 -> 0.4.4
$ nix-env -qa | grep -i redo
haskell-heredoc-ghc7.8.3-0.2.0.0-profiling-shared
haskell-heredoc-ghc7.8.3-0.2.0.0-shared
haskell-heredoc-ghc7.8.3-0.2.0.0-shared

据我所知,没有,因此不适用于该软件包也就emacs-redo不足为奇了。nix-env -i

但是,如果您关注masterNixpkgs git 存储库的分支(又名unstable通道),那么您会在包集中找到该包,emacsPackagesNg如下所示:

$ nix-env -qaP -A emacsPackagesNg | grep -i redo
emacsPackagesNg.redo-plus    emacs-redo-plus-20131117.551

如果你想使用它,那么你可能必须将你的 Emacs 安装完全转换为那个新的包集——我不相信你很容易混合旧 Emacs 包集和新 Emacs 包集的包。

无论如何,emacsPackagesNg它正在进行中,它可能还不完全可靠,尽管https://github.com/NixOS/nixpkgs/issues/11503表明人们确实已经成功使用它。

于 2016-01-25T10:41:59.027 回答