Существует три разных пакета, о которых здесь говорят.
cabal-install
является текущим стабильным двоичным кодом для создания приложений.
stack
был недавно опубликован для публики. Я считаю, что он пытается заменить cabal-install
лучшим и удобным инструментом. По крайней мере, он показывает сообществу Haskell другой способ чего-то.
Cabal
- это библиотека, в которой находятся как cabal-install
, так и stack
.
Что касается различий между первыми двумя инструментами.
cabal-install
- зрелая заявка, используемая почти повсеместно в сообществе Haskell (по крайней мере в открытом источнике, я понятия не имею, что делают люди за закрытыми дверями).
stack
по-прежнему является новым (по крайней мере общедоступным) приложением, используемым в некоторых новых проектах. Еще немного информации можно найти here. Но некоторые из основных моментов:
- работает
stack build
в директории с проектами установит GHC (Haskell компилятора), а также необходимые зависимости для проекта.
stack
, по умолчанию, работает от stackage. Это кураторская версия hackage. Это означает, что вы можете ожидать, что разные пакеты будут хорошо играть друг с другом. Приведение к воспроизводимым сборкам.
- Вы все еще можете отказаться от хака, если захотите.
Замечательная вещь в этих двух приложениях заключается в том, что они могут использоваться разными людьми для одного и того же проекта. Если вы решите, что хотите использовать cabal-install
с песочницами, а кто-то приходит и хочет помочь с вашим проектом, они могут просто добавить файлы, которые нужны stack
, и они могут использовать stack
, пока вы продолжаете использовать cabal-install
. Или наоборот.
here - опыт одного человека после использования stack
в первый раз. Они утверждают, что начать немного легче, потому что для начала требуется несколько шагов. Если ничего другого, люди выделяют плюсы и минусы каждого инструмента.
Примечание: Я до сих пор довольно новичок в Haskell и никогда не использовал stack
.
Мне на самом деле сказали держаться подальше от него, если ничего не строили в
yesod
.
Редактировать: Как указано в комментарии по этому вопросу, я считаю, что я неправильно представил то, что люди рассказали мне о стеке. Комментарии, которые мне дали, когда я спросил, нужно ли мне переключаться, чтобы стеки были больше по строкам, Если вам достаточно удобно пользоваться изолированными дескрипторами cabal, нет причин переключаться на стек, если у вас нет проблем.
хорошо ... если разработчики * yesod настоятельно рекомендуют один из вариантов, почему вы спрашиваете нас? – Bakuriu
Мне хотелось бы узнать о различиях между ними, и если кто-то сделал другой/лучший опыт с одним из них – Robin