如何使用兄弟 Stack 项目?
How to use sibling Stack projects?
我有一个项目结构如下:
- proj/
- subproj1/
- stack.yaml
- subproj1.cabal
- ...
- subproj2/
- stack.yaml
- pkg1/
- ...
- pkg2/
- ...
- ...
我的 subproj1/stack.yaml 文件包含:
packages:
- .
- location: ../subproj2
subdirs:
- pkg1
- pkg2
extra-dep: true
当 运行 "stack build" 来自 subproj1/ 目录时,我注意到构建行为不一致。而且我想知道我是否以一种固有的不稳定方式设置了我的项目结构。例如,使用位于 proj/ 目录中的单个 stack.yaml 文件会更稳定吗?
是的,很遗憾,此设置存在一些已知问题 - https://github.com/commercialhaskell/stack/issues/3130。希望会在某个时候得到修复!解决此问题的一种方法是设置您的 STACK_YAML 环境变量,这样堆栈调用将忽略当前目录。
我有一个项目结构如下:
- proj/
- subproj1/
- stack.yaml
- subproj1.cabal
- ...
- subproj2/
- stack.yaml
- pkg1/
- ...
- pkg2/
- ...
- ...
我的 subproj1/stack.yaml 文件包含:
packages:
- .
- location: ../subproj2
subdirs:
- pkg1
- pkg2
extra-dep: true
当 运行 "stack build" 来自 subproj1/ 目录时,我注意到构建行为不一致。而且我想知道我是否以一种固有的不稳定方式设置了我的项目结构。例如,使用位于 proj/ 目录中的单个 stack.yaml 文件会更稳定吗?
是的,很遗憾,此设置存在一些已知问题 - https://github.com/commercialhaskell/stack/issues/3130。希望会在某个时候得到修复!解决此问题的一种方法是设置您的 STACK_YAML 环境变量,这样堆栈调用将忽略当前目录。