使用Reflex Platform编译具有本地包的堆栈项目

时间:2017-09-13 16:51:08

标签: haskell functional-programming frp nix reflex

我想使用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在哪里找到它?

1 个答案:

答案 0 :(得分:1)

您可以使用my_package中的包重写机制添加haskellPackages,如NixPkgs Manual

中所述

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