Nix 包管理器语法错误,应为“;”最后

问题描述

我正在尝试学习 nix 包管理器,我想使用 nix 包管理器构建一个 Flask 应用程序,特别是使用 --pure。当我运行 nix-shell --pure default.nix 时,出现错误 Syntax error,unexpected $end,expecting ';',at /Users/USER/Desktop/NixRank/flask-hello/default.nix:23:2,其中第 23 行对应于右花括号。我认为错误消息在某种程度上没有帮助,非常感谢任何帮助:)

这是我的 default.nix

let
    name = "learnnix";
    src= ./.;
    version = "0.1";
    pkgs=import<nixpkgs>{allowUnfree=true;};
in
with pkgs
stdenv.mkDerivation{
    name = "${name}";
    inherit src;
    buildInputs = [
        bash
        python3
        python38Packages.flask
    ];

    buildPhase = ''
        flask run
    '';
    installPhase =''
        open "http://localhost:5000/"
    '';
}

解决方法

解决了!问题出在 with pkgs 行上,其中缺少分号。在这种情况下,错误消息没有帮助。我选择把帖子留在这里,这样也许以后有人可以受益。