Nix (package manager)/zh: Difference between revisions
Created page with "由Nix构建的软件包被放在只读的''Nix存储'', 通常位于<code>/nix/store</code>. 每个软件包会被赋予一个由加密hash值指定的独一无二的地址, 该地址位于软件包名称和版本之后, 例如<code>/nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1</code>. 这些前缀的哈希处理使用到了对构建过程的所有输入, 包括源文件, 完整依赖关系树, 编译器标志, 等等. 这让Nix可以同时安装同一软件包..." |
No edit summary Tags: Mobile edit Mobile web edit |
||
| Line 1: | Line 1: | ||
Nix是一个 | Nix是一个包管理器和构建系统, 解析用 [[Nix Expression Language|Nix表达式语言]] (惰性求值的纯函数式语言) 指定的可再现的构建指令. Nix表达式是纯函数<ref>计算过程中,值不可改变. 当函数的输入不变时,函数总是输出相同的结果. </ref>, 接受依赖作为参数,并为包产生一个指定了可再现的构建环境的 ''[[Derivations|derivation]]'' . Nix把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中, 创建了一个不可变的包存储 (即[[#Nix store|nix存储]]), 这使得原子升级, 回滚, 以及不同版本的包的同时安装成为可能, 从根本上消除了[https://en.wikipedia.org/wiki/Dependency_hell 依赖地狱]. | ||
<span id="Usage"></span> | <span id="Usage"></span> | ||