|
Tags: Mobile edit Mobile web edit |
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 依赖地狱]. | | Nix是一个软件包管理器和构建系统, 解析用 [[Nix Expression Language|Nix表达式语言]] (惰性求值的纯函数式语言) 指定的可再现的构建指令. Nix表达式是纯函数<ref>计算过程中,值不可改变. 当函数的输入不变时,函数总是输出相同的结果. </ref>, 接受依赖作为参数,并为软件包产生一个指定了可再现的构建环境的 ''[[Derivations|derivation]]'' . Nix把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中, 创建了一个不可变的软件包存储 (即[[#Nix store|nix存储]]), 这使得原子升级, 回滚, 以及不同版本包的同时安装成为可能, 从根本上消除了[https://en.wikipedia.org/wiki/Dependency_hell 依赖地狱]. |
Revision as of 11:47, 24 February 2025
Nix是一个软件包管理器和构建系统, 解析用 Nix表达式语言 (惰性求值的纯函数式语言) 指定的可再现的构建指令. Nix表达式是纯函数[1], 接受依赖作为参数,并为软件包产生一个指定了可再现的构建环境的 derivation . Nix把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中, 创建了一个不可变的软件包存储 (即nix存储), 这使得原子升级, 回滚, 以及不同版本包的同时安装成为可能, 从根本上消除了依赖地狱.
- ↑ 计算过程中,值不可改变. 当函数的输入不变时,函数总是输出相同的结果.