2015-07-13 10 views
5

Ho deciso di provare a dare uno sparo. L'ho installato e l'ho usato per installare l'ultima versione di ghc. Ho usato lo stack per installare alcuni pacchetti ma i pacchetti non sono visibili a ghc e quando elencho i pacchetti con ghc-pkg vedo che i pacchetti che ho installato attraverso lo stack non ci sono. Perchè è questo? Sto fraintendendo lo scopo dello stack?Perché non impila aggiungere pacchetti al database del pacchetto ghc?

risposta

7

Lo stack non tocca mai il database globale dei pacchetti. Esso utilizza l'approccio database di livelli

  1. database globale - intatta
  2. pacchetti nel stackage snapshot vengono installati nel database snapshot
  3. altri pacchetti sono installati localmente per progetto

Così, invece di inquinare database globale la maggior parte dei pacchetti viene installata nei database di snapshot, quindi è possibile condividere la maggior parte dei pacchetti. Dato che i pacchetti nelle istantanee di stackage sono compatibili (vale a dire sempre compilati insieme), non ci imbattiamo in Cabal hell.

È possibile utilizzare stack ghci o stack ghc per eseguire i comandi corrispondenti con il database del pacchetto configurato.

La spiegazione più precisa è nello stack wiki

Problemi correlati