При построении плана сборки были обнаружены следующие исключения


Я пытаюсь установить

stack install ghc-mod

И у меня есть следующая ошибка:

In the dependencies for ghc-mod-5.8.0.0:
    Cabal-2.0.1.1 from stack configuration does not match >=1.18 && <1.25 (latest matching version is 1.24.2.0)
    base-4.10.1.0 from stack configuration does not match >=4.6.0.1 && <4.10 (latest matching version is 4.9.1.0)
    cabal-helper must match <0.8 && >=0.7.3.0, but the stack configuration has no specified version (latest matching version is 0.7.3.0)
    extra-1.6.2 from stack configuration does not match <1.6 && >=1.4 (latest matching version is 1.5.3)
    ghc-8.2.2 from stack configuration does not match >=7.6 && <8.2
    monad-journal-0.8.1 from stack configuration does not match <0.8 && >=0.4 (latest matching version is 0.7.2)
    optparse-applicative-0.14.0.0 from stack configuration does not match >=0.13.0.0 && <0.14 (latest matching version is 0.13.2.0)
needed since ghc-mod is a build target.

Some potential ways to resolve this:

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

- Cabal-1.24.2.0
- base-4.9.1.0
- cabal-helper-0.7.3.0
- extra-1.5.3
- monad-journal-0.7.2
- optparse-applicative-0.13.2.0

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

  * You may also want to try using the 'stack solver' command.

Plan construction failed.

Я использую

~/.local/bin$ stack --version
Version 1.6.3, Git revision b27e629b8c4ce369e3b8273f04db193b060000db (5454 commits) x86_64 hpack-0.20.0

И ghc версии 8.2.2. Как обойти ошибку?

2 5

2 ответа:

Ваша версия stackage не имеет этого пакета https://www.stackage.org/lts-10.4/hoogle?q=ghc-mod . У старого он есть https://www.stackage.org/lts-8.23/hoogle?q=ghc-mod . Я предполагаю, что пакет считается неподдерживаемым, поскольку он был обновлен в последний раз в июле 2017 года.

Вы можете прочитать официальную документацию о том, как добавить любой пакет из hackage, в частности раздел внешние зависимости https://github.com/commercialhaskell/stack/blob/master/doc/GUIDE.md#external-dependencies

Однако, все может быть сломано с последней версией Haskell.

Для lts-10.4 вы можете использовать обходной путь, упомянутый здесь в самом низу: Установите релиз-кандидата для ghc-mod-5.9.0.0 и еще несколько пакетов в стеке.ямл под экстра-деп. Затем сделайте

stack build ghc-mod
stack install ghc-mod

И вы закончили. По крайней мере, "работает для меня" в соответствии с ghc-8.2.2:

ghc-mod --version

$> ghc-mod version 5.9.0.0 compiled by GHC 8.2.2

Я еще не сталкивался с какими-либо проблемами, используя его с атомом. Надеюсь, это поможет.