coldwa.st
Tutte le guideProgrammazioneWebDatiStrumentiDatabaseHaskellConcettiCabal e buildToolchainCompilatorePrestazioniEditor e HLS

Haskell · toolchain · installazione

Installare Haskell con GHCup: la guida alla toolchain 2026

Di ColdwastAggiornato il 14 giugno 20267 min di lettura#haskell#ghcup#cabal
Codice sorgente colorato dalla sintassi su uno schermo scuro
Codice sorgente colorato dalla sintassi sullo schermo.

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 cabal e 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

Un portatile su una scrivania mostra codice sorgente in un editor
Un portatile mostra codice sorgente in un editor.

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 ghc restituisce «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.

Guida indipendente, mantenuta dalla community. coldwa.st è un sito di risorse sulla programmazione; questo articolo è uno scritto nuovo e originale su GHCup e l’attuale toolchain Haskell, senza alcuna affiliazione con i maintainer di alcuno strumento né scritto da loro. I comandi riflettono il comportamento documentato di GHCup — verifica sempre la documentazione ufficiale per i numeri di versione più recenti.