Использование Reflex Platform для компиляции стекового проекта с локальными пакетами
Я хотел бы использовать рабочий скрипт в reflex-platform для компиляции проекта, который до сих пор управлялся с помощью стека, как описано здесь.
В списке пакетов stack.yaml у меня есть ссылка на пакет, расположенный по локальному пути, что-то вроде:
packages:
- '.'
- ../<my_package>
Когда я запускаю скрипт, я получаю странную ошибку nix, в которой говорится, что анонимная функция была вызвана без обязательного аргумента (с именем локального пакета).
Ошибка: анонимная функция в /nix/store/sci0xi7jjwl9krpsp051iry1blz0jaw0-cabal2nix-for-unknown-package/default.nix:1:1 называется без необходимого аргумента 'my_package', в / NIX / магазин /wgg4rzg3hyywfd7b0917qmj4617rza7k-nixpkgs-32833c010ecf868826aaa3b60d322bf697f37134-Src/pkgs/development/haskell-modules/make-package-set.nix:69:27
Как я могу сказать nix, где его найти?
1 ответ
Можете добавить my_package
используя механизм переопределения пакетов в haskellPackages
как описано в Руководстве NixPkgs
cabal.project
Файл, используемый для этой цели, приблизительно эквивалентен набору переопределений, добавляемых в haskellPackages
, Если вы полностью переключаетесь на Nix, вы можете удалить cabal.project
когда вы закончите, потому что это будет устаревшим. NixPkgs' haskellPackages
не имеет смысла для этого. Он использует только cabal-install для сборки отдельных пакетов одновременно.