Насколько мне известно, для создания новых проектов yosog и yosog2 я делаю следующее

$ yesod init
$ cd yosog
yosog$ cabal sandbox init
yosog$ cabal install

$ yesod init
$ cd yosog2
yosog2$ cabal sandbox init
yosog2$ cabal install

Но каждое cabal install длится вечно. Как я могу создать кучу проектов Yesod, если каждый компилируется бесконечно?

5
user782220 25 Дек 2013 в 08:53

2 ответа

Лучший ответ

Похоже, что вы действительно пытаетесь сделать так, чтобы несколько отдельных проектов повторно использовали одну и ту же песочницу Cabal. Вы можете сделать это, указав общий параметр --sandbox для команды cabal sandbox. Однако обратите внимание, что, разделяя песочницу, вы отказываетесь от некоторой защиты, которую песочницы должны обеспечивать.

4
Michael Snoyman 25 Дек 2013 в 08:11

Довольно необычно запускать несколько проектов Yesod одновременно. Каждому из них потребуется свой собственный TCP-порт и отдельный сервер. Два проекта Yesod обычно обозначают совершенно разные веб-сайты, которые не имеют ничего общего друг с другом.

Вы можете поместить несколько обработчиков и маршрутов в один проект, поэтому, если у вас есть связанные веб-страницы / API, вы должны установить их с помощью одной команды. Если у вас есть действительно модульные и многоразовые части, вы можете поместить эти обработчики в пакеты библиотек, но основной проект все равно будет собираться и устанавливаться в рамках одной программы Yesod.

1
jamshidh 25 Дек 2013 в 06:46