7

我正在尝试遵循本教程,以便将 Nix 包管理器安装在我的主目录中,而不是/nix.

我正在安装PRoot(参见教程中的 2.)。最后,本教程建议在构建原生包部分变得聪明,以便能够在没有 PRoot 的情况下运行包:

要本地运行包(没有 PRoot),它们必须从源代码构建,因为到 nix 存储的所有路径都是硬编码的。这很简单,真的:

mkdir $HOME/nix

尼克斯频道--更新

env NIX_STORE_DIR=$HOME/nix nix-env -i nix

现在您的 Nix 商店使用新路径建立起来。构建的二进制文件可以直接从那里运行。

我这样做了,但我不明白它是如何让我摆脱 PRoot 的。如果我不/nix使用 PRoot 进行安装点,则没有任何效果(没有nix-env可执行文件,我无法安装新软件包)。

这个NIX_STORE_DIR环境变量应该放在我的.bashrc吗?

似乎我总是需要运行 PRoot 因为~/.nix-profile指向一个/nix/...目录:

.nix-profile -> /nix/var/nix/profiles/default

本教程中有更多步骤(5.、6.) - 我应该遵循它们吗?似乎它们仅适用于使用手动安装(第 4 步)的情况,尽管它并不明确。

任何帮助,将不胜感激 :)

4

2 回答 2

3

对于任何在这个老问题上绊倒的人:目前没有支持的方式来安装没有root. 上述 wiki 已移至https://nixos.wiki/wiki/Nix_Installation_Guide。它很可能已经过时了。PRoot可以工作,但即便如此,以不同的路径重建整个存储也不是一个好主意,尤其是因为二进制缓存无济于事,你需要构建一切

我建议在虚拟机或云服务器中尝试 Nix。

于 2018-03-09T12:27:21.593 回答
3

来自谷歌的未来人,它仍然不受支持,但确实有效。此处的脚本会安装几个依赖项,构建一个临时 Nix,并使用它在您选择的目录中安装正确的版本。

于 2018-09-05T17:24:03.263 回答