我想使用reflex-platform中的work-on脚本编译一个使用堆栈管理的项目,直到现在解释为here。
在stack.yaml的包列表中,我引用了一个位于本地路径中的包,类似于:
packages:
- '.'
- ../<my_package>
当我运行脚本时,我得到一个奇怪的nix错误,说明在没有必需参数的情况下调用了匿名函数(使用本地包的名称)。
错误:匿名函数在 /nix/store/sci0xi7jjwl9krpsp051iry1blz0jaw0-cabal2nix-for-unknown-package/default.nix:1:1 在没有必要参数'my_package'的情况下调用 /nix/store/wgg4rzg3hyywfd7b0917qmj4617rza7k-nixpkgs-32833c010ecf868826aaa3b60d322bf697f37134-src/pkgs/development/haskell-modules/make-package-set.nix:69:27
我如何告诉nix在哪里找到它?
答案 0 :(得分:1)
您可以使用my_package
中的包重写机制添加haskellPackages
,如NixPkgs Manual
用于此目的的cabal.project
文件大致相当于添加到haskellPackages
的一组覆盖。如果你完全切换到Nix,你可以在完成后删除cabal.project
,因为它已经过时了。 NixPkgs'haskellPackages
没有用它。它只使用cabal-install一次构建单个包。