これは、追加の依存関係としてstack.yaml
宣言しhspec
ている私のファイルです。
# Specifies the GHC version and set of packages available (e.g., lts-3.5, nightly-2015-09-21, ghc-7.10.2)
resolver: lts-3.8
# Local packages, usually specified by relative directory name
packages:
- '.'
# Packages to be pulled from upstream that are not in the resolver (e.g., acme-missiles-0.3)
extra-deps:
- hspec-2.2.0
私が実行stack solver
すると、実行する変更はないと表示されます。
root@5d7daa2aec0a:/src/test_stack/a-test/src# stack solver
This command is not guaranteed to give you a perfect build plan
It's possible that even with the changes generated below, you will still need to do some manual tweaking
Asking cabal to calculate a build plan, please wait
No needed changes found
To automatically modify your stack.yaml file, rerun with '--modify-stack-yaml'
これは私のソースファイルです(スタックでHspecを使用できることを確認するためだけに):
module Main where
import Test.Hspec
main :: IO ()
main = do
putStrLn "hello world"
実行すると、次のようstack build
になります。
2015-10-05 22:24:08.450413:[警告]モジュール `Test.Hspec 'が見つかりませんでした@(stack_Bp003b8iWaELtdr693pSPs:Stack.Build.Execute src / Stack / Build / Execute.hs:1241:35)
stack solver
追加の依存関係が問題ないことを確認していると思いました。
私が間違っていることは何ですか?スタックを使うのは初めてです。
スタックは、パッケージをビルドおよびインストールするためのコマンドラインツールであるcabal-installに置き換わるものですが、それでもCabalパッケージングインフラストラクチャを使用します。特に、スタックでビルドされたプロジェクトは、.cabalファイルを含むCabal互換パッケージであり、それらの依存関係はすべて、build-depends
適切なバージョン範囲で.cabalファイルのセクションにリストする必要があります。stack.yaml
ファイルextra-deps
フィールドで依存関係が指定されている場合でも、そのフィールドは異なる目的を果たします(つまり、パッケージをビルドするときに使用する正確なバージョンをスタックに提供します)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加