首页 > 解决方案 > 如何修复 nix-shell 错误“错误:创建目录'/nix/var':权限被拒绝”?

问题描述

我在尝试突然运行 nix-shell 时遇到了奇怪的错误。它曾经可以正常工作,但是由于我自己的错,我开始遇到这些错误:

jon@jon-laptop ~/D/C/D/0/color-word-analyzer (master)> nix-shell
building '/nix/store/02szzrd1w7wqmnkh9is5qlx64m7r6f1z-cabal2nix-color-word-analyzer.drv'...
installing
error: creating directory '/nix/var': Permission denied
error: creating directory '/nix/var': Permission denied
** need a revision for VCS when the hash is given. skipping.
** need a revision for VCS when the hash is given. skipping.
** need a revision for VCS when the hash is given. skipping.
** need a revision for VCS when the hash is given. skipping.
cabal2nix: user error (Failed to fetch source. Does this source exist? Source {sourceUrl = "/nix/store/fvka3nd7slnqgjvfkjg649v77y10lc89-color-word-analyzer", sourceRevision = "", sourceHash = Guess "", sourceCabalDir = ""})
builder for '/nix/store/02szzrd1w7wqmnkh9is5qlx64m7r6f1z-cabal2nix-color-word-analyzer.drv' failed with exit code 1
error: build of '/nix/store/02szzrd1w7wqmnkh9is5qlx64m7r6f1z-cabal2nix-color-word-analyzer.drv' failed

颜色词分析器是我正在开发的 Haskell 项目的名称。它的 default.nix 在这里并且非常简单,所以我不明白为什么这会导致这些错误。

标签: nix

解决方案


看起来cabal2nix正在沙箱内调用 Nix 命令。这是不允许的,并且可能在您的NIX_PATH. 我能够用

nix-build -I nixpkgs=channel:nixos-unstable

题外话:支持递归 nix 调用,但对结果的纯度和密封性有一些限制。


推荐阅读