我试图遵循这个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),尽管它不明确。
任何帮助,将不胜感激 :)
对于任何在这个老问题上磕磕绊绊的人:没有root
,目前没有支持安装Nix的方法。上面的维基被移到了https://nixos.wiki/wiki/Nix_Installation_Guide。它可能已经过时了。 PRoot
可以工作,但即便如此,在不同的路径上重建整个商店也不是一个好主意,尤其是因为二进制缓存不会有帮助,你需要构建一切。
我建议在虚拟机或云服务器上试用Nix。
谷歌未来的人,它仍然没有得到支持,但确实有效。 Script here安装了几个依赖项,构建一个临时Nix,并使用它在您选择的目录中安装正确的版本。