При построении плана сборки были обнаружены следующие исключения
Я пытаюсь установить
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 ответа:
Ваша версия 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
Я еще не сталкивался с какими-либо проблемами, используя его с атомом. Надеюсь, это поможет.