jsaddle-dom导入错误建议添加我已经添加的依赖项

时间:2018-05-24 01:20:38

标签: ghcjs

在尝试编译基于ghcjs / jsaddle的Haskell网站时,我得到了

Main.hs:20:1: error:
    Failed to load interface for ‘GHCJS.DOM.Element’
    It is a member of the hidden package ‘jsaddle-dom-0.9.2.0’.
    Perhaps you need to add ‘jsaddle-dom’ to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

即使jsaddle-dom已经在我的cabal文件的build-depends中。

所以我无法做出错误信息所暗示的内容。

发生了什么?

1 个答案:

答案 0 :(得分:0)

您应该在您的cabal文件中添加build-depends: ghcjs-dom而不是build-depends: jsaddle-dom

这是因为ghcjs-dom是真实ghcjs-dom-jsffijsaddle-dom之间的多路复用器。

查看ghcjs-dom cabal文件以查看该内容。

为什么ghc的错误信息会如此误导?感谢jonored freenode IRC频道的#reflex-frp获取此解释:

  

ghcjs-dom只是对该平台上jsaddle中模块的引用。   所以它不是它实际上正常 的地方,而ghc告诉你 的位置。但是你想要ghcjs-dom,所以它告诉你ghcjs上基于ghcjs的实现。