2017-09-17 12 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

関連する?ありがとう、@mgsloan!https://github.com/commercialhaskell/stack/issues/2545 – dbanas

答えて

0

はい、残念ながら、このセットアップにはいくつかの既知の問題があります。https://github.com/commercialhaskell/stack/issues/3130うまくいけば、ある時点で修正されるでしょう!これを回避する1つの方法は、STACK_YAML環境変数を設定して、スタック呼び出しが現在のディレクトリを無視するようにすることです。

+0

なぜ私は現在のディレクトリを無視するスタックを説明することはできますか? – dbanas

+0

@dbanasこの方法では、特定のローカルパッケージを構築するために常に1つのstack.yamlファイルを使用するため、一貫性があります – mgsloan

関連する問題