スタックは通常、将来のビルドで時間を節約するためにパッケージの依存ビルドをキャッシュしますが、実際にはこれが起こらない多くのケースに気付きました。うまくいくと、依存関係の構築に 30 分以上かかることが多いため、時間を大幅に節約できます。
いくつかの作業の後、この問題を説明する簡単な例を分離することができ、誰かがそれを修正するのを手伝ってくれるかどうか疑問に思っていました. この問題は、クローンの後のような新しいビルドのみを指すことに注意してください....同じクローンの2番目のビルドは、実際にはすぐに進みます。
この非常に単純な Main.hs をコンパイルすると
import Network.Haskoin.Internals
main = undefined
このstack.yamlを使用して
resolver: lts-2.15
packages:
- '.'
extra-deps:
- haskoin-0.1.0.2
- json-rpc-0.2.1.6
- pbkdf-1.1.1.1
- text-1.1.1.4
flags: {}
そしてこの .cabal ファイル
name: simple
version: 0.1.0.0
cabal-version: >=1.10
executable simple-exe
hs-source-dirs: src
main-is: Main.hs
build-depends: base
, haskoin
default-language: Haskell2010
ソースコードを再クローンするたびに、スタックはすべての依存関係を再構築します。
extra-deps
、特にと関係があるのではないかと推測していますが、text-1.1.1.4
よくわかりません。