Использование предварительно скомпилированных двоичных файлов при разработке yesod

Быстрый старт Yesod рекомендует мне следующее:

Follow the installation instructions for stack to get stack.
Create a new scaffolded site: stack new my-project yesod-sqlite && cd my-project
    NOTE: Use stack templates to see other available Yesod scaffoldings.
Install the yesod command line tool: stack install yesod-bin cabal-install --install-ghc
Build libraries: stack build
Launch devel server: stack exec -- yesod devel
View your Yesod site at http://localhost:3000/

Однако stack install .. и stack build хотят загрузить и скомпилировать ~200 пакетов, а время сборки неприемлемо (около часа).

Кроме того, само ваше приложение не скомпилировано до stack exec, и это может занять некоторое время, если у меня много TH-материалов, таких как hamlet и persistence.

Я думаю, что предпочтительнее, чтобы мой стек или клика загружали все в виде предварительно скомпилированных двоичных файлов и запускали мой сайт разработки через runhaskell или stack exec runhaskell для минимального времени компиляции. Итак, вот два моих вопроса:

  1. Как я могу использовать предварительно скомпилированные двоичные файлы для установки стека и yesod?
  2. Как я могу заставить ghci перезагружать исходный код после редактирования во время работы в интерпретируемом режиме? yesod devel делает это, но пытается перекомпилировать..

person thkang    schedule 03.04.2016    source источник
comment
Как бы то ни было, теперь, когда у вас установлены эти двоичные файлы, stack будет повторно использовать их для будущих установок. Планируете ли вы делать много установок с нуля?   -  person MaxGabriel    schedule 04.04.2016


Ответы (1)


Взгляните на главу Развертывание веб-приложения книги Yesod Web Framework. Короче говоря, есть диспетчер развертывания под названием Keter, который интегрирован в инструмент yesod и может использоваться для развертывания скомпилированных приложений.

person arrowd    schedule 04.04.2016