|
|
(7 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| Nix是一个包管理器和构建系统,解析用 [[Nix Expression Language|Nix表达式语言]](惰性求值的纯函数式语言)指定的可再现的构建指令.Nix表达式是纯函数<ref>计算过程中,值不可改变.当函数的输入不变时,函数总是输出相同的结果. </ref>, 接受依赖作为参数,并为包产生一个指定了可再现的构建环境的 ''[[Derivations|derivation]]'' .Nix把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中, 创建了一个不可变的包存储 (即[[#Nix store|nix存储]]), 这使得原子升级, 回滚, 以及不同版本包的同时安装成为可能,从根本上消除了[https://en.wikipedia.org/wiki/Dependency_hell 依赖地狱]. | | {{Navbox Nix}} |
| | {{Disambiguation|message=本条目介绍的是 Nix 软件包管理器。请勿与 [[Nix ecosystem|Nix 生态系统]]、[[Nix (language)|Nix 语言]] 或 [[Nix (command)|Nix 命令]] 混淆。}} |
| | Nix 是一个软件包管理器和构建系统,它解析由 [[Nix Expression Language|Nix 表达式语言]] (惰性求值的纯函数式语言) 指定的可复现的构建指令。Nix 表达式是纯函数<ref>值在计算过程中不会改变。当函数的输入不变时,函数总是输出相同的结果。</ref>,它接受依赖作为参数,并生成一个 ''[[Derivations|derivation]]'',用于指定该软件包的可复现的构建环境。Nix 把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中,从而创建了一个不可变的包存储 (即 [[#Nix store|nix store]]),使得原子升级、回滚、以及同时安装同一软件包的不同版本成为可能,从根本上消除了[https://en.wikipedia.org/wiki/Dependency_hell 依赖地狱]。 |
Latest revision as of 16:05, 28 August 2025
Introduction to Nix
Nix 是一个软件包管理器和构建系统,它解析由 Nix 表达式语言 (惰性求值的纯函数式语言) 指定的可复现的构建指令。Nix 表达式是纯函数[1],它接受依赖作为参数,并生成一个 derivation,用于指定该软件包的可复现的构建环境。Nix 把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中,从而创建了一个不可变的包存储 (即 nix store),使得原子升级、回滚、以及同时安装同一软件包的不同版本成为可能,从根本上消除了依赖地狱。
- ↑ 值在计算过程中不会改变。当函数的输入不变时,函数总是输出相同的结果。