2017-09-17 53 views
0

我有一個項目正是如此結構:如何使用同級堆棧項目?

- proj/ 
    - subproj1/ 
    - stack.yaml 
    - subproj1.cabal 
    - ... 
    - subproj2/ 
    - stack.yaml 
    - pkg1/ 
     - ... 
    - pkg2/ 
     - ... 
    - ... 

而且我subproj1/stack.yaml文件包含此:

packages: 
- . 
- location: ../subproj2 
    subdirs: 
    - pkg1 
    - pkg2 
    extra-dep: true 

我注意到不一致的生成行爲,運行「組時建立「從subproj1/目錄中。我想知道我是否以固有的不穩定的方式建立了自己的項目結構。例如,它會更穩定地使用一個單獨的stack.yaml文件,位於proj/目錄中嗎?

+0

相關? https://github.com/commercialhaskell/stack/issues/2545 – dbanas

回答

0

是的,不幸的是,這個設置有一些已知的問題 - https://github.com/commercialhaskell/stack/issues/3130。希望在某些時候會被修正!解決此問題的一種方法是設置STACK_YAML環境變量,以便堆棧調用將忽略當前目錄。

+0

謝謝@mgsloan!你能解釋爲什麼我想要堆棧忽略當前目錄嗎? – dbanas

+0

@dbanas這樣,它總是會使用一個單獨的stack.yaml文件來構建特定的本地包,所以事情會一致的 – mgsloan