Haskero завершается ошибкой с «Недопустимым кодом Unicode!» - PullRequest
0 голосов
/ 26 мая 2018

Я пытаюсь запустить Haskero для редактирования на Haskell с помощью VSCode.Однако при инициализации происходит сбой со следующей ошибкой:

Initializing Haskero...
Spawning process 'stack' with command 'stack ghci --with-ghc intero "--ghci-options=-ignore-dot-ghci -Wall" --no-build --no-load'
(node:3726) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): TypeError: reason.indexOf is not a function
(node:3726) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Когда я запускаю команду с ошибкой в ​​консоли, я получаю следующую ошибку:

$ stack ghci --with-ghc intero "--ghci-options=-ignore-dot-ghci -Wall" --no-build --no-load
The following GHC options are incompatible with GHCi and have not been passed to it: -O2
Configuring GHCi with the following packages: lambda-pi-plus
Intero 0.1.23 (GHC 8.0.2)
Type :intro and press enter for an introduction of the standard commands.

/home/joey/.stack/programs/x86_64-linux/ghc-8.2.2/lib/ghc-8.2.2/package.conf.d/package.cache: GHC.PackageDb.readPackageDb: inappropriate type (Not a valid Unicode code point!)

Поиск в Googleкажется, указывает на то, что это может быть связано с версиями GHC, но я не нашел ничего определенного.

Это известная проблема?Есть ли какая-то конфигурация, которая могла бы исправить это?Может ли это быть связано с ошибкой локали?

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Я думаю, что проблема заключалась в том, что мой системный Intero был скомпилирован с версией GHC, отличной от используемой в моем проекте.

Запуск stack install intero в каталоге моего проекта устранил проблему.

0 голосов
/ 26 мая 2018

Возможно, это не проблема локали, но это возможно, если это так, то это ошибка GHC.

Одна вещь, которую нужно попробовать - rm -r .stack/programs/x86_64-linux/ghc-8.2.2.Стек хранится вокруг архива, поэтому его не нужно перезагружать, он просто распакует заново.

Если это не сработает, возможно, стоит удалить архив и попробовать перезагружать.Это действительно не должно быть необходимым, потому что он проверяет хэш после загрузки.

...