Подтвердить что ты не робот

Elm "не может найти модуль"

Я новичок в Elm. Интересно видеть функциональный язык, который позволяет вам разрабатывать интерфейс. Теперь, даже если я следую шагам, описанным здесь, у меня все еще есть проблемы с модулями.

Код

module Main where

import Html exposing ( Html )
import Signal

main : Signal Html.Html
main = Html.text "This should work."
       |> Signal.constant

Я использовал elm-reactor -a='localhost' для просмотра моего вывода. Но я получаю сообщение об ошибке, что модуль "HTML" не найден:

I cannot find find module 'Html'.

Module 'Main' is trying to import it.

Potential problems could be:
  * Misspelled the module name
  * Need to add a source directory or new dependency to elm-package.json

(обратите внимание на двойное "найти" хе-хе) Предложение по исправлению не помогло мне. Или может случиться так, что я неправильно понимаю использование файла .json.

вяз package.json:

{
    "version": "1.0.0",
    "summary": "testing elm",
    "license": "BSD3",
    "source-directories": [
        ".",
        "./bin/"
    ],
    "exposed-modules": [],
    "dependencies": {
        "elm-lang/core": "3.0.0 <= v < 4.0.0"
    },
    "elm-version": "0.16.0 <= v < 0.17.0"
}

Вот скриншот моего дерева файлов.

дерево дерева elm

Возможно, он ведет себя иначе, чем то, как Haskell угрожает модулям.

Как я могу это решить - просто? - проблема. Или мой elm-package.json просто настроен неправильно?

4b9b3361

Ответ 1

Обновление для Elm 0.17

В 0,17 пакет Html перенесен в elm-lang/html. Для его установки выполните следующую команду:

elm package install elm-lang/html

Вы также должны удалить пакет evancz/elm-html из elm-package.json, поскольку он больше не существует с 0,17.

Дополнительные сведения об обновлении с 0,16 до 0,17 см. в объявлении 0.17.

Оригинальный ответ для Elm 0.16

В вашей конфигурации elm-package.json отсутствует пакет evancz/elm-html, который предоставляет Html. Вы можете использовать диспетчер пакетов elm для установки зависимостей, а не непосредственно для редактирования elm-package.json.

В терминале введите следующее:

elm package install evancz/elm-html

Вам также будет предложено установить несколько других отсутствующих зависимостей, необходимых для evancz/elm-html. Запуск этой команды обновит ваш файл elm-package.json, а также вытащит недостающие пакеты из Интернета и установит их в стандартный каталог elm-stuff/packages.

Подробнее о инструменте elm-package можно найти здесь.

Вы можете просматривать онлайн-пакеты elm через package.elm-lang.org. На боковой панели есть раздел "Популярные пакеты", в котором содержится пакет evancz/elm-html, упомянутый здесь.