0

我想澄清一下 Nix 安装的依赖项。我有一个安装了包 D1 和 D2 的 linux 安装。现在我安装 Nix,然后通过 Nix 安装一个需要依赖项 D1 和 D2 的包。Nix 会再次重新安装 D1 和 D2 还是会忽略这些依赖项,因为它们已经安装在基础 linux 系统上?

4

1 回答 1

2

不,Nix 无法识别已安装的软件包。它不能不打破其核心概念之一:可靠性

考虑如果基本系统管理员(可能不是您)删除其中一个软件包(D1 或 D2)会发生什么: Nix 安装的依赖于这些软件包的软件包将不再工作。或者,更微妙的是,当安装在基础系统上的依赖项更新到较新版本时,Nix 打包的软件不兼容时会发生什么?

但是,在某些平台上使用了所谓的nativestdenv,它使用在本地目录(/usr/bin和朋友)中找到的一些工具。

在此基础上,您可以编写自己stdenv的工具,该工具使用基本系统中的一组工具(您可以确保它们在那里并工作)。

于 2015-11-25T08:46:55.757 回答