Ошибка при попытке создать новый проект стека с помощью компилятора GHCJS

Я пытаюсь настроить новый проект Stack в NixOS с GHCJS в качестве компилятора, следуя инструкциям на http://docs.haskellstack.org/en/stable/ghcjs.html

Я включил в свой файл stack.yaml следующие строки кода (все в одной строке, потому что, кажется, возникают проблемы с символами табуляции):

# Compiler specifying the GHCJS compiler for this project (using improved base).
compiler: ghcjs-0.2.0.20151230.3_ghc-7.10.2
compiler-check: match-exact
setup-info: 
    ghcjs: source: 
        ghcjs-0.2.0.20151230.3_ghc7.10.2: 
            url: "https://github.com/nrolland/ghcjs/releases/download/v.0.2.0.20151230.3/ghcjs-0.2.0.20151230.3.tar.gz"

и я получил следующее сообщение об ошибке при запуске stack setup

Could not parse '/home/lorkaan/pandocJS/stack.yaml':
InvalidYaml (Just (YamlParseException {yamlProblem = "mapping values are not allowed in this context", yamlContext = "", yamlProblemMark = YamlMark {yamlIndex = 487, yamlLine = 12, yamlColumn = 17}}))
See https://github.com/commercialhaskell/stack/blob/release/doc/yaml_configuration.md.

Кроме того, я попытался удалить setup-info поле, потому что Стек жаловался на это, оставляя мой stack.yaml файл как:

# Compiler specifying the GHCJS compiler for this project (using improved base).
compiler: ghcjs-0.2.0.20151230.3_ghc-7.10.2
compiler-check: match-exact

который производит этот вывод с помощью команды установки стека:

Warning: /home/lorkaan/pandocJS/stack.yaml: Unrecognized field in ProjectAndConfigMonoid: compiler
Preparing to install GHC to an isolated location.
This will not interfere with any system-level installation.
Already downloaded.                 
The following executables are missing and must be installed: make

У кого-нибудь есть идеи, почему это происходит?

1 ответ

  1. Первая ошибка связана с основной синтаксической ошибкой в ​​вашей конфигурации YAML. Правильная версия будет:
setup-info: 
    ghcjs:
        source: 
            ghcjs-0.2.0.20151230.3_ghc7.10.2: 
                url: "https://github.com/nrolland/ghcjs/releases/download/v.0.2.0.20151230.3/ghcjs-0.2.0.20151230.3.tar.gz"
  1. Вторая ошибка связана именно с тем, что она говорит: вам не хватает make полезность. Вам нужно использовать систему управления пакетами вашего дистрибутива Linux для установки make, Поскольку я не знаю, в каком дистрибутиве вы находитесь, я могу только рекомендовать просто выполнить $ make команда и посмотреть, достаточно ли умен среда, чтобы указать, в каком пакете ее можно найти. Обычно это делает Ubuntu. Тогда это только вопрос apt-get install-ing пакет, или, возможно, yum installнапример, на CentOS, Fedora и т. д.

PS такие вопросы, как ваш, обычно получают отрицательный ответ за то, что вы не проявили достаточных усилий при диагностике проблемы (или за то, что поставили 2 совершенно разных проблемы под один вопрос), но я даю вам преимущество сомнения и просто надеюсь, что вы будете аккуратнее в следующий раз.

Другие вопросы по тегам