【发布时间】:2019-03-16 13:28:11
【问题描述】:
我注意到,在处理新 Elm 0.19 项目中的一些构建错误时,我在运行 elm-make 时开始看到如下错误。
50| [ iframe [ src “https://fakeurl.com”,高度“0”,宽度 "0", 样式 [("display", "none"), ("visibility", "hidden")], 沙盒“”]
这个
style调用产生:String -> Attribute msg但列表中所有前面的元素都是:
Attribute msg提示:列表中的所有内容都必须是相同类型的值。这个 这样您就不会在中途遇到意外的值。混合 单个列表中的不同类型,如所述创建“联合类型” 在:http://guide.elm-lang.org/types/union_types.html
这之后的直接错误说明:
这个参数是一个类型的列表:
List ( String, String )但是
style需要第一个参数是:String
据我所知,elm-make 抱怨的那一行中 style 属性的使用似乎是 elm/html 最新版本的预期用法。
例如
style [ ( "display", "none" ), ( "visibility", "hidden" ) ]
看起来更深入一点,我似乎安装了 elm/html 1.0.0 包,而 Elm 0.19 的最新版本是 2.0.0。更奇怪的是 .19 的 elm/html 版本称为 1.0.0 似乎更像是 0.18 的 elm/html 包的副本,称为 ~version 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 0.18 的 elm/html 软件包 1.0.0 版本。基于此,我只能得出结论,我的 elm/0.19.0 包存储库文件夹中有 0.18 个包。
我上面的逻辑是合理的还是有其他解释?它是怎么变成这样的,也许我做错了什么?这是其中一种工具的已知问题吗?如何为我的项目解决这个问题,以便继续前进?
【问题讨论】: