Haskell · toolchain · installazione
Installare Haskell con GHCup: la guida alla toolchain 2026
Se stai iniziando con Haskell nel 2026, alla domanda «come lo installo?» c’è una risposta chiara: GHCup. È l’installer ufficiale e multipiattaforma e il gestore di versioni dell’intera toolchain — il compilatore (GHC), lo strumento di build (cabal-install), Stack e il backend per l’editor (HLS, l’Haskell Language Server). Questa guida percorre un’installazione pulita, il cambio di versione e gli intoppi in cui si incappa più spesso.
Cosa gestisce davvero GHCup
GHCup è un unico strumento che installa e commuta tra più versioni di ogni componente, così non resti mai bloccato su un solo compilatore:
- GHC — il Glasgow Haskell Compiler.
- cabal-install — lo strumento di build
cabale il suo solver delle dipendenze. - Stack — uno strumento di build alternativo con snapshot curati.
- HLS — l’Haskell Language Server, che alimenta autocompletamento, informazioni sui tipi e refactoring in VS Code, Neovim e altri editor.
Ha sostituito il vecchio bundle «Haskell Platform» proprio perché i progetti reali hanno bisogno di versioni diverse di GHC, e GHCup rende il cambio banale.
Installare GHCup
Su Linux e macOS, la riga di comando ufficiale scarica un installer interattivo:
curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh Come per qualsiasi script di installazione, leggi prima cosa fa — il sorgente è su GitHub (haskell/ghcup-hs). Su Windows, esegui l’installer PowerShell documentato sul sito di GHCup; predispone la stessa toolchain più l’ambiente MSYS2 richiesto.
L’installer propone di aggiungere GHCup al profilo della tua shell così che ghc, cabal e compagnia siano nel tuo PATH. Accetta, poi riavvia la shell.
La via interattiva: ghcup tui
Il modo più rapido per gestire le versioni è l’interfaccia da terminale:
ghcup tui Elenca ogni versione disponibile di GHC, Cabal, Stack e HLS con il relativo stato (installata, attiva, consigliata). Selezioni da tastiera cosa installare o attivare — nessun comando da memorizzare.
Gli equivalenti da riga di comando
Se preferisci gli script o la CI, le stesse azioni sono semplici comandi:
# install the recommended versions
ghcup install ghc recommended
ghcup install cabal recommended
ghcup install hls recommended
# make a specific GHC the active one
ghcup set ghc 9.10.1
# see what is installed
ghcup list Usa i numeri di versione che GHCup contrassegna come recommended, a meno che un progetto non fissi qualcosa di specifico nel suo cabal.project o stack.yaml.
Primo build, per confermare che funziona
cabal update # refresh the package index
mkdir hello && cd hello
cabal init --simple --non-interactive
cabal run Se compare un output, la tua toolchain è in salute. Da lì in poi il build stesso è parallelo per impostazione predefinita — vedi la nostra guida su come Cabal sfrutta i tuoi core, e i cambiamenti più profondi arrivati con Cabal 2.0 e il modello new-build.
Intoppi comuni
- PATH non aggiornato. Se
ghcrestituisce «command not found» dopo l’installazione, hai saltato il passaggio del profilo — riavvia l’installer o esegui il source di~/.ghcup/env. - Incompatibilità di versione HLS. L’Haskell Language Server deve supportare il tuo GHC attivo. Se l’HLS del tuo editor non si carica, installa la build HLS corrispondente al tuo GHC tramite
ghcup tui. - GHC di sistema che oscura GHCup. Un GHC installato tramite il gestore di pacchetti del tuo sistema operativo può prendere il sopravvento nel
PATH. Privilegia quello gestito da GHCup e rimuovi o depriorizza il pacchetto di sistema. - Indice dei pacchetti obsoleto. Gli errori di risoluzione dopo una lunga pausa di solito hanno bisogno solo di
cabal update.
Per il vocabolario usato in queste guide — piani di installazione, snapshot, sandbox — la vecchia guida alle sandbox di Cabal spiega come l’isolamento si è evoluto verso i build per progetto di oggi.
Stack o Cabal dopo GHCup?
GHCup installa entrambi, quindi la scelta spetta a te. Cabal, con il suo moderno modello di build per progetto, è la scelta predefinita da cui la maggior parte dei principianti dovrebbe partire; Stack aggiunge snapshot di pacchetti curati che alcuni team preferiscono per la riproducibilità. Entrambi funzionano con il GHC gestito da GHCup, e puoi passare dall’uno all’altro in seguito senza reinstallare il compilatore.
FAQ
GHCup è il modo ufficiale di installare Haskell? Sì — è l’installer consigliato su haskell.org e il punto d’ingresso standard della toolchain nel 2026.
GHCup funziona su Windows? Sì, tramite il suo installer PowerShell, che predispone anche l’ambiente MSYS2 di cui GHC ha bisogno su Windows.
Posso avere più versioni di GHC contemporaneamente? Sì — è proprio questo il punto. Installane diverse e cambia la versione attiva con ghcup set ghc <version>.
Mi serve ancora la Haskell Platform? No. GHCup l’ha sostituita; installa singolarmente i componenti di cui hai bisogno.