使用Reflex Platform编译包含本地包的堆栈项目
我想使用reflex-platform中的编写脚本来编译一个项目,该项目直到现在才使用堆栈进行管理,如解释here所述。使用Reflex Platform编译包含本地包的堆栈项目
在stack.yaml的软件包列表我必须位于本地路径中的包的引用,是这样的:
packages:
- '.'
- ../<my_package>
当我运行该脚本,我得到一个奇怪的尼克斯错误,说一个匿名函数已经被调用,没有必要的参数(使用本地包的名称)。
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在哪里可以找到它?
可以在haskellPackages
使用包覆盖机制添加my_package
,如在NixPkgs Manual
的cabal.project
文件中,作为用于此目的,大致相当于加到haskellPackages
一组覆盖的。如果您完全切换到Nix,那么您可以在完成后删除cabal.project
,因为它会被废弃。 NixPkgs的haskellPackages
对此没有用处。它只使用cabal-install来一次构建单个软件包。