#haskell #visual-studio-code #haskell-stack
Вопрос:
Когда я открываю какой-нибудь проект haskell в VS-коде, я получаю это сообщение:
Не удалось выяснить, какую версию GHC использует проект: /home/andrej/.config/Code — OSS/User/globalStorage/haskell.haskell/haskell-язык-сервер-оболочка-1.2.0-linux —проект-ghc-версия вышел с кодом выхода 1: Не найден «hie.yaml». Попробуйте определить тип проекта! Не удалось получить версию проекта GHC, так как у нас нет колыбели
Как это решить?
Редактировать:
Вот древовидная структура проекта:
.
├── .exercism
│ └── metadata.json
├── package.yaml
├── README.md
├── src
│ └── ResistorColors.hs
├── stack.yaml
└── test
└── Tests.hs
Комментарии:
1. Похоже, вам нужно это создать
hie.yaml
.2. привет, не могли бы вы поделиться выводом вызова
/path/to/haskell-language-server-wrapper-1.2.0-linux --probe-tools
и той же команды--project-ghc-version
в оболочке с текущим рабочим каталогом в корневом каталоге проекта?3. github.com/Avi-D-coder/implicit-hie#readme Вы можете использовать этот инструмент для создания
hie.yaml
файла.4. когда я запускаю
stack build
, а затем перезапускаю vs code, ошибка больше не появляется
Ответ №1:
Поскольку в вашем проекте есть файлы конфигурации проекта стека, расширение Haskell должно быть в состоянии определить, что ему нужно, и hie.yaml
файл для настройки расширения обычно не требуется для простых проектов, подобных этому.
haskell-language-server
, проект, на котором основано расширение VS Code Haskell, все еще находится в стадии активной разработки и часто немного застревает. Следующее может помочь разобраться во многих распространенных проблемах:
- Бежать
stack clean stack build
- Нажмите Ctrl Shift P и нажмите «Haskell: Перезапустить сервер Haskell LSP» (начните вводить, чтобы найти его).
Счастливого Хаскеллинга!
Комментарии:
1. «Haskell: Перезапустить сервер Haskell LSP» не помогает. Мне все еще нужно перезапустить код VS.
2. Затем «Окно перезагрузки» из того же выпадающего списка должно сработать.
Ответ №2:
Ни один из них не работает, пока я не удалю /Users/sweirich/.ghc/x86_64-darwin-8.10.4/environments/default
Как только вы удалите значение по умолчанию и снова откроете код vs. Расширение VS Haskell сбросит настройки, и ошибка, похоже, исчезнет.
Нашел ответ на https://issueexplorer.com/issue/haskell/haskell-language-server/2224
Комментарии:
1. Работал на меня. Тнх
2. Также сработало, когда у меня возникла аналогичная проблема: github.com/haskell/haskell-language-server/issues/2495 — похоже, удаление
default
может «исправить» кучу, казалось бы, не связанных между собой проблем.