странная ошибка с haskell-стеком. больше ничего не устанавливает

Я получаю сообщение об ошибке со стеком при попытке установить пакет.

Run from outside a project, using implicit global project config
Using resolver: lts-8.0 from implicit global project's config file: /home/chuck/.stack/global-project/stack.yaml
Invalid package ID: "array-0.5.1.1 base-4.9.1.0 binary-0.8.3.0 bytestring-0.10.8.1"

стек --версия работает:

Version 0.1.10.0 x86_64

и установка стека возвращает это:

Run from outside a project, using implicit global project config
Using resolver: lts-8.0 from implicit global project's config file: /home/chuck/.stack/global-project/stack.yaml
stack will use a locally installed GHC
For more information on paths, see 'stack path' and 'stack exec env'
To use this GHC and packages outside of a project, consider using:
stack ghc, stack ghci, stack runghc, or stack exec

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

ИЗМЕНИТЬ

Стек.yaml:

# This is the implicit global project's config file, which is only used when
# 'stack' is run outside of a real project.  Settings here do _not_ act as
# defaults for all projects.  To change stack's default settings, edit
# '/home/chuck/.stack/config.yaml' instead.
#
# For more information about stack's configuration, see
# https://github.com/commercialhaskell/stack/blob/release/doc/yaml_configuration.md
#
flags: {}
extra-package-dbs: []
packages: []
extra-deps: []
resolver: lts-8.0

person Chuck Aguilar    schedule 16.02.2017    source источник
comment
Я не знаю, актуально ли это, но моя версия стека Version 1.3.2, Git revision 3f6751...da2a5 (4395 commits) x86_64 hpack-0.15.0. Можете ли вы дать нам точную команду, которую вы хотите установить, и содержимое ~/.stack/global-project/stack.yaml и сообщить нам, есть ли у вас system-ghc: true в ~/.stack/config.yaml?   -  person epsilonhalbe    schedule 16.02.2017
comment
Спасибо за ваш ответ. :) Нет, как видите, у меня его нет. Я буду стараться. Кстати, независимо от того, что я пытаюсь установить или сделать, я получаю это сообщение в терминале. Например: stack install stylish-haskell   -  person Chuck Aguilar    schedule 16.02.2017
comment
Неа. Не помогло :( у меня такая же ошибка   -  person Chuck Aguilar    schedule 16.02.2017
comment
ой! Я установил его сегодня, потому что вчера у меня возникла проблема с системой, и я забыл сделать обновление стека после установки стека, и, возможно, поэтому моя версия слишком старая (как вы видели), и, возможно, поэтому я получил эту ошибку. Я пытаюсь обновить.   -  person Chuck Aguilar    schedule 16.02.2017
comment
Нет, не получилось...   -  person Chuck Aguilar    schedule 16.02.2017


Ответы (2)


Попробовав много вещей, я «нашел ответ».

Проблема заключалась в том, что, как заметил epsilonhalbe, у меня была старая версия. Итак, я попытался сделать это wget -qO- https://get.haskellstack.org/ | sh, и это не сработало, потому что у меня был стек на /usr/bin/, поэтому я удалил стек, а затем снова попытался wget -qO- https://get.haskellstack.org/ | sh. Я добавил $HOME/.local/bin/ к пути, и он работает правильно.

Я надеюсь, что это может помочь кому-то

ИЗМЕНИТЬ

Есть новая версия стека, но ghc-mod работает только до lts-9.0 стека. Итак, если у вас проблемы с ghc-mod и версия вашего стека больше 8.0.2, то:

nano /Users/USERNAME/.stack/global-project/stack.yaml

и замените resolver: --- на resolver: lts-9.0

Потом на терминале stack solver и все заработает :)

person Chuck Aguilar    schedule 16.02.2017
comment
Действительно, никогда не устанавливайте инструменты сборки через apt. - person Sergey Alaev; 19.07.2017
comment
Установка стека через apt действительно была и моей проблемой. Приведенное выше решение работает как шарм - person jose.marcos.rf; 24.07.2018

Я был заблокирован той же проблемой, если только я не проверю which stack (или не использую where stack в качестве альтернативы), и я обнаружил, что использую старую версию стека, которую я каким-то образом установил, и новая версия никогда не была доступна, когда я набрал команду stack ...

Вот ситуация, когда я понял проблему. проблема-версии-стека

Если вы отметите stack --version и получите что-то вроде Version 0.1.10.0 x86_64, то это далеко от текущей версии, текущая версия, которую я использую (при ответе на этот вопрос), Version 1.3.3, Git revision 078cfadeb37a39501eae24732e5c757cc8aca31b x86_64 hpack-0.17.0

Если вы убедились, что не используете неправильный стек, но версия стека все еще слишком мала, вы можете использовать stack upgrade --git для обновления стека до последней версии из git (обратите внимание, что это займет некоторое время).

Надеюсь, это полезно.

person luochen1990    schedule 22.02.2017