使用 nix 包管理器安装 emacs-redo+ 时出错
Error installing emacs-redo+ with nix package manager
运行 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:~$
我做错了什么?
我不确定你是如何使命令 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
不适用于该软件包也就不足为奇了。
但是,如果您关注 Nixpkgs git 存储库的 master
分支(a.k.a。unstable
频道),那么您会发现emacsPackagesNg
包中的包设置如下:
$ nix-env -qaP -A emacsPackagesNg | grep -i redo
emacsPackagesNg.redo-plus emacs-redo-plus-20131117.551
如果你想使用它,那么你可能必须将你的 Emacs 安装完全转换到那个新的包集——我不相信你可以轻易地混合来自旧的和新的 Emacs 包集的包。
总之,emacsPackagesNg
是work-in-progress,它可能还不完全可靠,尽管https://github.com/NixOS/nixpkgs/issues/11503建议人们成功使用它已经.
运行 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:~$
我做错了什么?
我不确定你是如何使命令 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
不适用于该软件包也就不足为奇了。
但是,如果您关注 Nixpkgs git 存储库的 master
分支(a.k.a。unstable
频道),那么您会发现emacsPackagesNg
包中的包设置如下:
$ nix-env -qaP -A emacsPackagesNg | grep -i redo
emacsPackagesNg.redo-plus emacs-redo-plus-20131117.551
如果你想使用它,那么你可能必须将你的 Emacs 安装完全转换到那个新的包集——我不相信你可以轻易地混合来自旧的和新的 Emacs 包集的包。
总之,emacsPackagesNg
是work-in-progress,它可能还不完全可靠,尽管https://github.com/NixOS/nixpkgs/issues/11503建议人们成功使用它已经.