【问题标题】:Asking Nix for metadata about the given package向 Nix 询问有关给定包的元数据
【发布时间】:2019-09-30 18:44:44
【问题描述】:

我在 macOS 和(非 NixOS)Linux 上使用 Nix。我想给 Nix 一个包或属性名称并让它显示给我

  1. Nix 知道的该软件包的最新版本号,并且
  2. 对应 .nix 文件的本地副本的路径(或者可能是 GitHub 上 nixpkgs 存储库中该 .nix 文件的 URL)。

我实际上是在寻找与 Homebrew 的 brew info packagename 等效的 Nix。

我怎样才能让 Nix 给我这些信息?

【问题讨论】:

    标签: nix


    【解决方案1】:

    也许有更好的方法,比如nix-env,但我通常为此使用nix repl

    $ nix repl '<nixpkgs>'
    Welcome to Nix version 2.2.2. Type :? for help.
    
    Loading '<nixpkgs>'...
    Added 10069 variables.
    
    nix-repl> docker-c[TAB]     
    docker-compose         docker-credential-gcr
    nix-repl> docker-compose.version
    "1.23.1"
    

    【讨论】:

      【解决方案2】:

      在 CLI 上使用 nix-env,我认为我们目前能(相对)方便地做的最好的事情是 JSON 或 XML:

      $ nix-env --query --available --attr nixpkgs.hello --meta --json
      
      # Or in terse form:
      $ nix-env -qaA nixpkgs.hello --json
      

      输出和输入都不是特别人性化,典型的 Nix 可用性......

      .nix 文件的路径被列为position,在 REPL 中也被列为 hello.meta.position。值得一提的是nix edit nixpkgs.hello,用于打开文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-02-03
        • 1970-01-01
        • 1970-01-01
        • 2020-05-25
        • 1970-01-01
        • 1970-01-01
        • 2021-04-14
        • 2010-11-13
        相关资源
        最近更新 更多