Проблема с пакетом атрибутов стиля elm / html в новом проекте 0.19 - PullRequest
1 голос
/ 16 марта 2019

Я заметил, что во время работы с некоторыми ошибками сборки в новом проекте Elm 0.19 я начал видеть такие ошибки, как следующие при запуске elm-make.

50 | [iframe [src "https://fakeurl.com", высота" 0 ", ширина "0", style [("display", "none"), ("visibility", "hidden")], песочница ""]

Этот style вызов производит:

String -> Attribute msg

Но все предыдущие элементы в списке:

Attribute msg

Подсказка: все в списке должно быть одинакового типа. это таким образом, вы никогда не столкнетесь с неожиданными ценностями в процессе. Смешивать различные типы в одном списке, создайте «тип объединения», как описано в: http://guide.elm -lang.org / types / union_types.html

Прямая ошибка после этого гласит:

Этот аргумент является списком типа:

List ( String, String )

Но style нужен 1-й аргумент:

String

Из того, что я могу сказать, использование атрибута style в строке, где жалуется elm-make, представляется ожидаемым использованием для последних более свежих версий elm / html .

Ex.

style [ ( "display", "none" ), ( "visibility", "hidden" ) ]

Если взглянуть немного глубже, то похоже, что у меня установлен пакет elm / html 1.0.0, тогда как последняя версия Elm 0.19 - 2.0.0. Еще более странным является то, что версия elm / html для .19 под названием 1.0.0 больше похожа на копию пакета elm / html для 0.18, которая называлась ~ версия 5.0.0 ~, и все они имеют более новую подпись, которая занимает список. Глядя на фактический пакет, установленный под C:\Users\me\AppData\Roaming\elm\0.19.0\package\elm\html\1.0.0\src\Html, я действительно вижу, что подпись style : String -> String -> Attribute msg, что, насколько я понимаю, должно быть только для версии elm / html пакета 1.0.0 для Elm 0.18. Исходя из этого, я могу только заключить, что у меня есть 0,18 пакетов в моей папке репозитория пакетов elm / 0.19.0.

Моя логика выше звука или есть другое объяснение? Как так получилось, возможно, я сделал что-то не так? Это известная проблема с одним из инструментов? Как мне решить эту проблему для моего проекта, чтобы я мог двигаться вперед?

1 Ответ

4 голосов
/ 16 марта 2019

Похоже, вы запутались при переносе пакетов ядра в пространство имен elm/ в Elm 0.19.Пакеты в пространстве имен elm-lang/ предназначены для Elm 0.18.Последняя версия elm/html - 1.0.0, а для elm-lang/html - 2.0.0.С учетом вышесказанного, у вас есть elm/html 1.0.0 и правильная подпись для style: String -> String -> Attribute msg.

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

...