Как я могу решить проблему http-проводника с Yesod 10.2? - PullRequest
3 голосов
/ 21 марта 2012

У меня следующая проблема при запуске yesod devel в моем приложении .

Начинается нормально (компиляция завершена), но дает сбой при предварительной обработке исполняемых файлов:

Разрешение зависимостей ... Настройка WebToKindle-0.0.0 ... Восстановление приложения ... Принудительная перекомпиляция для ./Model.hs из-за config / models Принудительная перекомпиляция для ./Foundation.hs из-за конфигурации / маршрутов Принудительная перекомпиляция для ./Foundation.hs из-за messages / en.msg Принудительная перекомпиляция для ./Foundation.hs из-за templates / default-layout-wrapper.hamlet Принудительная перекомпиляция для ./Foundation.hs из-за templates / default-layout.hamlet Принудительная перекомпиляция для ./Handler/Root.hs из-за templates / homepage.hamlet Библиотека предварительной обработки WebToKindle-0.0.0 ... Предварительная обработка исполняемых файлов для WebToKindle-0.0.0 ... Сборка WebToKindle-0.0.0 ...

Application.hs: 22: 8: Не удалось найти модуль Network.HTTP.Conduit': It is a member of the hidden package http-проводник-1.2.6 '. Возможно, вам нужно добавить `http-проводник 'к зависимости от сборки в вашем файле .cabal. Используйте -v, чтобы увидеть список искомых файлов. Ошибка сборки, пауза ...

Запуск cabal install моего приложения работает нормально, и я могу запустить его и перейти на стартовую страницу в браузере.

Так что, похоже, эта проблема возникает только с помощью инструмента devel.

Я попытался отменить регистрацию связанных пакетов и переустановить их вместе, чтобы помочь cabal выяснить зависимости.

cabal install yesod yesod-auth authenticate http-conduit

К сожалению, это ничего не изменило.

Поскольку я хотел бы получить выгоду от развития «мгновенного удовлетворения», я ценю любую помощь в выяснении этого.

Обновление

Поработав некоторое время и с помощью monadic в поиске источника проблемы, я понял, что проблема в том, что я изменил версию cabal внутри файла cabal на 1.8. Я изменил его обратно на 1.6, и теперь все работает нормально.

1 Ответ

2 голосов
/ 21 марта 2012

[Предупреждение: мой совет не имеет ничего общего с Йесодом, так как я им не пользуюсь.Это может быть неправильно]

Эта ошибка не говорит об отсутствующем пакете с точки зрения установки.У вас есть доступ только к зависимостям, перечисленным в файле cabal , а не ко всему списку пакетов .Вам нужно добавить http-conduit к вашим зависимостям (желательно с правильными ограничениями версий)

...