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?
5
A
risposta
7
Lo stack non tocca mai il database globale dei pacchetti. Esso utilizza l'approccio database di livelli
- database globale - intatta
- pacchetti nel stackage snapshot vengono installati nel database snapshot
- 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