Skip to content

Unable to install yesod dev libraries #216

@wizzardx

Description

@wizzardx

Hi there. I'm a relative beginner to haskell and stack, and am starting to go by the Yesod book for v1.6.

I have a fresh stack install. version 1.7.1

At the moment, latest LTS is 12.7

Over in this chapter:

https://www.yesodweb.com/book/haskell

There is this text:

Once you have your toolchain set up correctly, you’ll need to install a number of Haskell libraries. For the vast majority of the book, the following command will install all the libraries you need:

stack build yesod persistent-sqlite yesod-static esqueleto

That gives me this error output:

Populated index cache.    

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for esqueleto-2.5.3:
    persistent-2.8.2 from stack configuration does not match >=2.5 && <2.8  (latest matching version is 2.7.3.1)
needed since esqueleto is a build target.

Some different approaches to resolving this:

  * Set 'allow-newer: true' to ignore all version constraints and build anyway.

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working build configuration. This can be convenient when dealing with many complicated constraint
    errors, but results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps in /home/david/.stack/global-project/stack.yaml:

- persistent-2.7.3.1

Plan construction failed.

Following along with the recommended actions, I end up with this file:

/home/david/.stack/global-project/stack.yaml

With these lines:

packages: []
resolver: lts-12.7
extra-deps:
- persistent-2.7.3.1
- conduit-1.2.13.1
- resourcet-1.1.11

And stack gives me this error when attempting to run the 'stack build' command:

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for conduit-extra-1.3.0:
    conduit-1.2.13.1 from stack configuration does not match >=1.3 && <1.4  (latest matching version is 1.3.0.3)
needed due to yesod-1.6.0 -> conduit-extra-1.3.0

In the dependencies for yesod-1.6.0:
    conduit-1.2.13.1 from stack configuration does not match >=1.3  (latest matching version is 1.3.0.3)
needed since yesod is a build target.

In the dependencies for yesod-core-1.6.6:
    conduit-1.2.13.1 from stack configuration does not match >=1.3  (latest matching version is 1.3.0.3)
    resourcet-1.1.11 from stack configuration does not match >=1.2  (latest matching version is 1.2.1)
needed due to yesod-1.6.0 -> yesod-core-1.6.6

In the dependencies for yesod-static-1.6.0:
    conduit-1.2.13.1 from stack configuration does not match >=1.3  (latest matching version is 1.3.0.3)
needed since yesod-static is a build target.

Some different approaches to resolving this:

  * Set 'allow-newer: true' to ignore all version constraints and build anyway.

  * Consider trying 'stack solver', which uses the cabal-install solver to attempt to find some working build configuration. This can be convenient when dealing with many complicated constraint
    errors, but results may be unpredictable.

  * Recommended action: try adding the following to your extra-deps in /home/david/.stack/global-project/stack.yaml:

- conduit-1.3.0.3
- resourcet-1.2.1

Plan construction failed.

conduit and resourcet are already in my global-project/stack.yaml, so if I follow the given advice, stack gives me this error:

The same package name is used in multiple local packages

conduit used in:
- PLIndex "conduit-1.3.0.3"
- PLIndex "conduit-1.2.13.1"

resourcet used in:
- PLIndex "resourcet-1.2.1"
- PLIndex "resourcet-1.1.11"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions