nix-shell 错误 - mkdir:无法创建目录 '/nix/store/...':只读文件系统
nix-shell error - mkdir: cannot create directory '/nix/store/...': Read-only file system
我正在使用 nix-shell
来调试我的包。
配置脚本如下所示:
configurePhase = ''
mkdir -p $out
...
'';
当运行通过nix-build
时,这段代码是可以的,但是当运行 nix-shell
我无法创建$out
目录当运行 configurePhase
mkdir: cannot create directory '/nix/store/...': Read-only file system
我明白为什么会这样,但如何解决这个问题?
发生这种情况是因为 $out
指向 /nix/store/...
以只读方式挂载。
作为Eelco Dolstra pointed,至少有两种方法可以解决这个问题:
不要在 configurePhase
中创建 $out
,而是在 installPhase
中创建。
将 $out
设置为一些不同的值。
您可以使用
设置 $out
变量
nix-shell --command "export out=/tmp/foo; return"
我正在使用 nix-shell
来调试我的包。
配置脚本如下所示:
configurePhase = ''
mkdir -p $out
...
'';
当运行通过nix-build
时,这段代码是可以的,但是当运行 nix-shell
我无法创建$out
目录当运行 configurePhase
mkdir: cannot create directory '/nix/store/...': Read-only file system
我明白为什么会这样,但如何解决这个问题?
发生这种情况是因为 $out
指向 /nix/store/...
以只读方式挂载。
作为Eelco Dolstra pointed,至少有两种方法可以解决这个问题:
不要在
configurePhase
中创建$out
,而是在installPhase
中创建。将
$out
设置为一些不同的值。
您可以使用
设置$out
变量
nix-shell --command "export out=/tmp/foo; return"