如何更改我的 silly-code.cabal 项目在其中查找父 cabal.project 文件的目录?

How do I change the directory my silly-code.cabal project looks for a parent cabal.project file in?

我在一个包含许多不同语言的项目的 monorepo 中。从根本上说,我们想要这样:

└── haskell
    ├── cabal.project
    ├── one-lib
    │   ├── one-lib.cabal
    │   └── src
    │       └── OneLib.hs
    └── two-lib
        ├── two-lib.cabal
        └── src
            └── TwoLib.hs

然后从其他目录中,比如在 some/nested-path 中,我想要一个看起来像

silly-code.cabal
name: silly-code
build-type: Simple

-- Imaginary option
cabal.project-root-folder: ../../haskell/

library
  hs-source-dirs:
    src
  main-is:
    Main.hs
  build-depends:
    , one-lib   -- listed in ../../haskell/cabal.project
    , base < 5

这可能吗?

有可能,但不是来自您的 .cabal 文件。它必须在 cabal 命令行上指定,使用 --project-file 命令行标志。