我正在尝试关注此tutorial,以便在我的主目录中安装Nix包管理器而不是/nix
。
我正在进行 PRoot 安装(请参阅教程中的2.)。最后, 教程建议聪明的构建本机包部分 能够在没有PRoot的情况下运行包:
要本机运行包(不使用PRoot),必须从源代码构建它们,因为到nix存储的所有路径都是硬编码的。这很简单,真的:
mkdir $ HOME / nix
nix-channel --update
env NIX_STORE_DIR = $ HOME / nix nix-env -i nix
现在您的Nix商店使用新路径构建。构建的二进制文件可以直接从那里运行。
我做到了,但我不知道它是如何让我从PRoot中解脱出来的。如果我没有使用PRoot执行/nix
安装点,则无效(无nix-env
可执行文件,
我无法安装新软件包。)
这个NIX_STORE_DIR
环境变量应该放在我的.bashrc
吗?
似乎我总是需要运行PRoot,因为~/.nix-profile
指向
一个/nix/...
目录:
.nix-profile -> /nix/var/nix/profiles/default
教程中有更多步骤(5.,6。) - 我应该遵循它们吗?它似乎仅适用于使用手动安装的情况(步骤4), 虽然不明确。
任何帮助将不胜感激:)
答案 0 :(得分:3)
对于遇到这个老问题的任何人:没有root
目前没有支持安装Nix的方法。上面的wiki被移到了https://nixos.wiki/wiki/Nix_Installation_Guide。它可能已经过时了。 PRoot
可以工作,但即便如此,以不同的方式重建整个商店并不是一个好主意,不是因为二进制缓存不会有帮助而你需要构建一切
我建议在虚拟机或云端服务器上尝试Nix。
答案 1 :(得分:0)
将来会受到Google的欢迎,但仍不受支持,但确实可以。 Script here安装了两个依赖项,构建了一个临时Nix,并使用它在您选择的目录中安装了正确的版本。