我注意到,在一个新的ELM0.19项目中处理一些构建错误时,我开始在运行Elm时看到以下错误。
50\[ src "https://fakeurl.com",高度"0",宽度"0",样式(“显示”,“无”),(“可见性”,“隐藏”),沙箱“] 此
style调用生成: 字符串->属性msg 但是列表中的所有前几个元素都是: 属性msg 提示:列表中的所有内容都需要相同类型的值。这样,您就不会在半程内遇到意想不到的值。若要在单个列表中混合不同类型,请创建“联合类型”,如:types.html中所述
这之后的直接错误声明:
此参数是一个类型列表: 列表(字符串,字符串) 但是
style需要第一个论点是: 字符串
据我所知,elm-make正在抱怨的行中使用的样式属性似乎是最近版本elm/html的预期使用。
例如。
style [ ( "display", "none" ), ( "visibility", "hidden" ) ]从更深的角度看,我似乎已经安装了elm/html 1.0.0包,而Elm0.19的最新版本是2.0.0。更奇怪的是,名为1.0.0的.19的elm/html版本似乎更像是一个名为~Version5.0.0~的0.18的elm/html包的副本,所有这些都具有较新的签名,其中包含一个列表。查看在C:\Users\me\AppData\Roaming\elm\0.19.0\package\elm\html\1.0.0\src\Html下安装的实际包,我确实看到签名是style : String -> String -> Attribute msg,据我所知,该签名只适用于Elm /HTMLPackage1.0.0版本的ELM0.18。基于此,我只能得出结论,我的elm/0.19.0包存储库文件夹中有0.18个包。
是我的逻辑高于声音,还是有其他解释?它怎么会这样,也许我做错了什么?这是其中一个工具的已知问题吗?我如何为我的项目解决这个问题,以便我可以向前迈进?
发布于 2019-03-16 14:12:48
似乎您对在ELM0.19中将核心包传输到elm/命名空间感到困惑。elm-lang/命名空间中的包用于ELM0.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上对用户进行平屏。
https://stackoverflow.com/questions/55197350
复制相似问题