Nix (package manager)/zh: Difference between revisions

Mayer (talk | contribs)
Created page with "Nix包管理器"
Tags: Mobile edit Mobile web edit
 
Mayer (talk | contribs)
Created page with "Nix是一个包管理器和构建系统,解析用 Nix Expression Language(惰性求值的纯函数式语言)指定的可再现的构建指令.Nix表达式是纯函数<ref>计算过程中,值不可改变.当函数的输入不变时,函数总是输出相同的结果. </ref>, 接受依赖作为参数,并为包产生一个指定了可再现的构建环境的 ''derivation'' .Nix把构建的结果存储在由完整依赖树的哈希值指定的..."
Line 1: Line 1:
<div lang="en" dir="ltr" class="mw-content-ltr">
Nix是一个包管理器和构建系统,解析用 [[Nix Expression Language]](惰性求值的纯函数式语言)指定的可再现的构建指令.Nix表达式是纯函数<ref>计算过程中,值不可改变.当函数的输入不变时,函数总是输出相同的结果. </ref>, 接受依赖作为参数,并为包产生一个指定了可再现的构建环境的 ''[[Derivations|derivation]]'' .Nix把构建的结果存储在由完整依赖树的哈希值指定的唯一地址中, 创建了一个不可变的包存储 ([[#Nix store|nix存储]]), 这使得原子升级, 回滚, 以及不同版本包的同时安装成为可能,从根本上消除了[https://en.wikipedia.org/wiki/Dependency_hell 依赖地狱].  
Nix is a package manager and build system that parses reproducible build instructions specified in the [[Nix Expression Language]], a pure functional language with lazy evaluation. Nix expressions are pure functions<ref>Values cannot change during computation. Functions always produce the same output if their input does not change. </ref>taking dependencies as arguments and producing a ''[[Derivations|derivation]]'' specifying a reproducible build environment for the package. Nix stores the results of the build in unique addresses specified by a hash of the complete dependency tree, creating an immutable package store (aka the [[#Nix store|nix store]]) that allows for atomic upgrades, rollbacks and concurrent installation of different versions of a package, essentially eliminating [https://en.wikipedia.org/wiki/Dependency_hell dependency hell].
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">