在尝试编译基于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
中。
所以我无法做出错误信息所暗示的内容。
发生了什么?
答案 0 :(得分:0)
您应该在您的cabal文件中添加build-depends: ghcjs-dom
而不是build-depends: jsaddle-dom
。
这是因为ghcjs-dom
是真实ghcjs-dom-jsffi
和jsaddle-dom
之间的多路复用器。
查看ghcjs-dom cabal文件以查看该内容。
为什么ghc的错误信息会如此误导?感谢jonored
freenode IRC频道的#reflex-frp
获取此解释:
ghcjs-dom只是对该平台上jsaddle中模块的引用。 所以它不是它实际上正常 的地方,而ghc告诉你 的位置。但是你想要ghcjs-dom,所以它告诉你ghcjs上基于ghcjs的实现。