haskellhaskell-stackhakyll

Hakyll tutorial goes wrong


I am following the Hakyll tutorial as in this https://jaspervdj.be/hakyll/tutorials/01-installation.html.

But it seems that something is wrong and I can't tell what it is. When I run 'stack init' I get this message.

Looking for .cabal or package.yaml files to use to init the project.
Using cabal packages:
- ./

Selecting the best among 16 snapshots...

* Partially matches lts-14.16
    hakyll not found
        - ourblog-com requires ==4.13.*

* Partially matches nightly-2019-11-25
    hakyll not found
        - ourblog-com requires ==4.13.*

* Partially matches lts-13.30
    hakyll not found
        - ourblog-com requires ==4.13.*

* Partially matches lts-12.26
    hakyll version 4.12.4.0 found
        - ourblog-com requires ==4.13.*

* Partially matches lts-11.22
    hakyll version 4.12.3.0 found
        - ourblog-com requires ==4.13.*

* Partially matches lts-10.10
    hakyll version 4.10.0.0 found
        - ourblog-com requires ==4.13.*

* Partially matches lts-9.21
    hakyll version 4.9.8.0 found
        - ourblog-com requires ==4.13.*

* Partially matches lts-8.24
    hakyll version 4.9.7.0 found
        - ourblog-com requires ==4.13.*

* Partially matches lts-7.24
    hakyll not found
        - ourblog-com requires ==4.13.*

* Partially matches lts-6.35
    hakyll version 4.8.3.2 found
        - ourblog-com requires ==4.13.*

...

* Partially matches lts-0.7
    hakyll not found
        - ourblog-com requires ==4.13.*

Selected resolver: lts-14.16
Resolver 'lts-14.16' does not have all the packages to match your requirements.
    hakyll not found
        - ourblog-com requires ==4.13.*

This may be resolved by:
    - Using '--omit-packages' to exclude mismatching package(s).
    - Using '--resolver' to specify a matching snapshot/resolver

My path seems correctly included. Why is this happening?


Solution

  • It looks like the Hakyll maintainers haven't kept it up to date in the Stack respository. After creating the my-site directory, instead of running stack init, create a stack.yaml file manually that contains the lines:

    resolver: lts-14.16
    packages:
    - .
    extra-deps:
    - hakyll-4.13.0.1
    

    Then run stack build, etc. as directed. That seems to work.