В моем понимании (1), что раздел build-depends
в файле моего проекта .cabal
гарантирует, что пакеты, указанные там, присутствуют в преобразователе, указанном в stack.yml
, доступны (в соответствующих версиях) и используются, когда я тестирую или запускаю свой пакет (например, с stack ghci
или stack test
и т. д.).Зачем «строить» пакет вместо использования «лишних депо» в «stack.yml»?
Я также собираю (2), что раздел extra-deps
моего stack.yml
используется для приобретения пакетов, которые не находятся в указанном распознавателе.
Но я запутался о роли
stack build some-package
Как это отличается от extra-deps
? Будет ли использоваться some-package
, когда я stack test
или stack ghci
и т. Д.? Зачем использовать его вместо добавления some-package
в extra-deps
? (И, есть ли у меня (1) и (2) правильно?)
Так что, если я 'stack build PKG', PKG не влияет на то, что' stack build' (с использованием проектов '.cabal' и' stack.yml') или 'stack ghci' или' stack test' видят? – orome
Да, это так. – sjakobi
Прохладный. Это кажется магическим: я не вижу, как выходы (установленные пакеты, например) из 'stack build PKG' и' stack build' разделены? Делает ли это просто уничтожение другого? – orome