Ошибка импорта jsaddle-dom предполагает добавление зависимости, которую я уже добавил - PullRequest
0 голосов
/ 24 мая 2018

При попытке скомпилировать мой сайт на основе 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 уже находится в build-depends моего клика-файла.

Так что я не могу сделать то, что предлагает сообщение об ошибке.

Что происходит?

1 Ответ

0 голосов
/ 24 мая 2018

Вы должны поместить build-depends: ghcjs-dom вместо build-depends: jsaddle-dom в свой файл кабалы.

Это потому, что ghcjs-dom является мультиплексором между реальными ghcjs-dom-jsffi и jsaddle-dom.

Проверьте это ghcjs-dom cabal файл, чтобы увидеть это.

Почему сообщение об ошибке ghc так вводит в заблуждение?Спасибо jonored из IRC-канала freenode #reflex-frp за это объяснение:

ghcjs-dom - это просто ссылка на модуль в jsaddle на этой платформе.так что это не то, где это на самом деле канонически равно , и ghc сообщает вам, где оно равно .Но вы хотите ghcjs-dom, чтобы он рассказывал вам о реализации ghcjs на ghcjs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...