我想知道,为什么有些软件包出现在旧版本而不是github repo中,当通过nix-env -qa查询它们时.我了解到这是因为主分支尚未合并到unstable-channel.
如何从主分支手动安装派生,以获得最新版本?
最灵活的方式是:
git clone https://github.com/nixos/nixpkgs
cd nixpkgs
nix-build -A hello
nix-env -i $(readlink result)
Run Code Online (Sandbox Code Playgroud)
寻找主分支可能有点风险,因为二进制代码可能不可用,你可以结束构建很多包.
这就是说,你可以指定哪些nixpkgs将被用来nix-env与-f标志.
所以,假设你想要hello从master 构建,你可以使用以下代码:
$ nix-env -f https://github.com/NixOS/nixpkgs/archive/master.tar.gz -iA hello
Run Code Online (Sandbox Code Playgroud)
也可以使用-I nixpkgs=/path/to/nix/pkgs以下命令在nix shell中尝试git分支包:
$ nix-shell -p hello -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
739 次 |
| 最近记录: |