2016-01-23 145 views
0

運行nix-env -i emacs-redo+給我一個錯誤。使用nix包管理器安裝emacs-redo +時出錯

[email protected]:~$ nix-env -i emacs-redo+ 
error: selector ‘emacs-redo+’ matches no derivations 
[email protected]:~$ 

但包似乎都存在,並且是可見的。

[email protected]:~$ nix-env -qa | grep emacs-redo 
emacs-redo+-20131117.551 
[email protected]:~$ 

給予確切的包名,逃避+給了我同樣的錯誤。

[email protected]:~$ nix-env -i emacs-redo+-20131117.551 
error: selector ‘emacs-redo+-20131117.551’ matches no derivations 
[email protected]:~$ nix-env -i emacs-redo\+ 
error: selector ‘emacs-redo+’ matches no derivations 
[email protected]:~$ nix-env -i emacs-redo\+-20131117.551 
error: selector ‘emacs-redo+-20131117.551’ matches no derivations 
[email protected]:~$ 

我在做什麼錯?

回答

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不適用於該套件並不奇怪。

但是,如果您關注的Nixpkgs git倉庫(又名unstable通道)的master分支,那麼你會如下發現包中的emacsPackagesNg包設置:

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

如果您想要使用它,那麼您可能必須將Emacs安裝完全轉換爲新的軟件包集合 - 我不相信您可以輕鬆地混合舊的和新的Emacs軟件包集合中的軟件包。

總之,emacsPackagesNg是工作在進步,它可能不完全可靠的是,雖然https://github.com/NixOS/nixpkgs/issues/11503表明,人們使用它成功了。

+0

執行'nix-channel --update'後,我再也看不到那個包了。舊的版本或什麼的,我猜?儘管它並不能完全解決我的問題,但接受這一點;這是一個很好的解釋。 – Inaimathi