我知道如何安装一些nix
软件包,nix-env
但其中一些我不知道如何安装,
例如:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/pygit2/default.nix
如何安装该软件包?
光看文件怎么知道包的全名.nix
?**
我知道如何安装一些nix
软件包,nix-env
但其中一些我不知道如何安装,
例如:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/python-modules/pygit2/default.nix
如何安装该软件包?
光看文件怎么知道包的全名.nix
?**
如何安装该软件包?
nix-env -iA nixos.python3Packages.pygit2
. 您可以替换python3Packages
为您选择的 python 版本,例如python36Packages
。
仅查看 .nix 文件,我如何知道包的全名?
你就是不能。
原因是 .nix 文件的属性路径是由 .nix 文件的引用方式决定的<nixpkgs>/pkgs/all-packages/top-level.nix
。在这种情况下,top-level.nix 文件使所有 python 包都可以通过pythonPackages
orpython3packages
属性访问。包本身列在<nixpkgs>/pkgs/all-packages/python-packages.nix
每个条目现在最终调用包的 nix 表达式文件的位置,就像您在上面链接到的那个。
这使得包的完整属性路径pkgs.python3Packages.pygit2
。浏览 nixkpgs 属性集的一个很好的工具是nix repl "<nixpkgs/nixos>"
,它会让你进入一个带有 tab-completion 的 nix 解释器。当nix-env
用于命令式软件安装时,您仍然需要在包的属性路径中pkgs
替换为。nixos
无论如何,我建议您研究声明式软件管理,因为您可以使用包的正常属性路径。