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
просто настроен неправильно?
Ответы
Ответ 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
, упомянутый здесь.