ghc-mod: после обновления «не может удовлетворить -package-id base-4.8.2.0»

Итак, обновление apt-get в Ubuntu обновило мою GHC-версию до 7.10.3 из этого репозитория. .

После этого обновления все сломалось, поэтому я перешел на 7.10.2, из того же репозитория.

Сейчас почти все работает, кроме ghc-mod, который при запуске выдает следующую ошибку, когда я пытаюсь проверить свой проект:

ghc-mod: <command line>: cannot satisfy -package-id base-4.8.2.0-9bb65294401b6ef629a229811a1f4249
    (use -v for more information)

Когда я запускаю cabal-install в своем проекте, я не получаю никаких ошибок зависимостей.

Что может быть причиной этой проблемы? Есть ли в GHC-моде какие-то настройки, которые нужно изменить, или путь, который необходимо указать?

Я могу предоставить больше информации, но я просто не знаю, с чего начать с этой ошибкой.

Мой раздел build-depends в файле .cabal выглядит так:

  build-depends:       base >=4.8 && <4.9
                       , mtl
                       , parsec
                       , pretty
                       , readline

Как я уже сказал, все эти зависимости устанавливаются нормально.


person jmite    schedule 20.11.2015    source источник
comment
ты сам компилировал ghc-mod ? что на выходе ghc-mod --version   -  person epsilonhalbe    schedule 20.11.2015
comment
Вы нашли, что пошло не так? Кажется у меня такой же пб с 7.10.3   -  person nicolas    schedule 17.12.2015
comment
Кажется, проблема в 7.10.3: github.com/DanielG/ghc-mod/ вопросы/607   -  person fycth    schedule 31.01.2016
comment
Извините, я точно не помню, как я это решил... Кажется, я только что запустил новую песочницу, и это сработало?   -  person jmite    schedule 31.01.2016


Ответы (1)


Кажется, перезапуск процесса ghc-mod после rm -rf .stack-work помогает; stack clean по какой-то причине не кажется «достаточно сильным» — ghc-mod не особенно соображает, когда его следует очищать и перестраивать — хотелось бы, чтобы это было не так, но это так.


В качестве альтернативы, ваш ghc-mod может потребоваться перекомпилировать с любой версией GHC, с которой он используется; если у вас установлено несколько версий GHC и вам нужна ghc-mod для конкретной, передайте -w path/to/ghc в cabal install, например, в моем случае у меня глобально 8.0.1, но мне нужна ghc-mod с 7.10.3, которую stack уже установил для меня под .stack/programs:

~/my-sandboxes/ghc-mod-7.10.3 $ cabal install -w ~/.stack/programs/x86_64-osx/ghc-7.10.3/bin/ghc ghc-mod

в противном случае достаточно простого cabal install ghc-mod.

person Erik Kaplun    schedule 08.06.2016
comment
Вероятно, это решение, но я не использовал стек, когда впервые столкнулся с этим. - person jmite; 08.06.2016