Ошибка при попытке создать новый проект стека с помощью компилятора 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

Кто-нибудь знает, почему это происходит?


person lorkaan    schedule 25.01.2016    source источник


Ответы (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-инга пакета или, возможно, yum install-инга, например. CentOS и Fedora и т. д.

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

person Erik Kaplun    schedule 25.01.2016