3

我想使用 reflex-platform 中的工作脚本来编译一个到目前为止一直使用堆栈管理的项目,如此所述。

在 stack.yaml 的包列表中,我引用了位于本地路径中的包,例如:

packages:
- '.'
- ../<my_package>

当我运行脚本时,我收到一个奇怪的 nix 错误,说调用了一个匿名函数而没有必需的参数(使用本地包的名称)。

error: anonymous function at /nix/store/sci0xi7jjwl9krpsp051iry1blz0jaw0-cabal2nix-for-unknown-package/default.nix:1:1 called without required argument 'my_package', at /nix/store/wgg4rzg3hyywfd7b0917qmj4617rza7k-nixpkgs-32833c010ecf868826aaa3b60d322bf697f37134-src/pkgs /development/haskell-modules/make-package-set.nix:69:27

我如何告诉 nix 在哪里可以找到它?

4

1 回答 1

1

您可以my_package使用 中的包覆盖机制进行添加haskellPackages,如NixPkgs 手册中所述

用于此目的的cabal.project文件大致相当于添加到haskellPackages. 如果你完全切换到 Nix,你可以cabal.project在完成后删除它,因为它会过时。NixPkgs'haskellPackages没有用处。它一次只使用 cabal-install 构建单个包。

于 2017-09-15T12:19:08.760 回答