Why is elm-program-test installing at 2.3.2 instead of 3.3.0?

Anyone know why elm-program-test might be insisting on installing version 2.3.2 instead of the latest 3.3.0? I can’t find any dependency issues that would require this, unless I’m missing something? My elm.json for reference:

{
    "type": "application",
    "source-directories": [
        "src/elm"
    ],
    "elm-version": "0.19.1",
    "dependencies": {
        "direct": {
            "GlobalWebIndex/elm-plural-rules": "1.1.0",
            "dillonkearns/elm-cli-options-parser": "3.0.1",
            "elm/browser": "1.0.2",
            "elm/core": "1.0.5",
            "elm/html": "1.0.0",
            "elm/http": "1.0.0",
            "elm/json": "1.1.3",
            "elm/parser": "1.1.0",
            "elm/random": "1.0.0",
            "elm/regex": "1.0.0",
            "elm-community/list-extra": "8.2.4",
            "elm-community/string-extra": "4.0.1",
            "miniBill/elm-codec": "2.0.0"
        },
        "indirect": {
            "elm/time": "1.0.0",
            "elm/url": "1.0.0",
            "elm/virtual-dom": "1.0.2",
            "turboMaCk/any-dict": "2.3.0"
        }
    },
    "test-dependencies": {
        "direct": {
            "elm-explorations/test": "1.2.2"
        },
        "indirect": {}
    }
}

It’s probably because you are using elm/http 1.0.0 instead of elm/http 2.0.0. elm-program-test 3.0.0 requires the latter.

If you run into versioning issues, you can paste your elm.json into this is a helpful tool to figure out what versions of packages conflict with eachother

2 Likes

That worked! I had totally missed that; thank you!

1 Like

I’ve worked on a dependency solver until last month, now I’m mostly waiting for minithesis/microthesis to be published before publishing the lib, but the demo is still online at https://mpizenberg.github.io/elm-pubgrub . When I take your elm.json, remove the indirect dependencies, move the test dependencies to normal dependencies and add "avh4/elm-program-test": "3.3.0" to it, the solver says:

Something went wrong!

Because root 1.0.0 depends on elm/http 1.0.0 and avh4/elm-program-test 3.3.0 depends on elm/http 2.0.0 <= v < 3.0.0, root 1.0.0, avh4/elm-program-test 3.3.0 are incompatible.

And because root 1.0.0 depends on avh4/elm-program-test 3.3.0, root 1.0.0 is forbidden.

2 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.