coldwa.st
Todos os guiasProgramaçãoWebDadosFerramentasBases de dadosHaskellConceitosCabal e buildsToolchainCompiladorDesempenhoEditor e HLS

Haskell · toolchain · instalação

Instalar Haskell com o GHCup: o guia da toolchain 2026

Por ColdwastAtualizado a 14 de junho de 20267 min de leitura#haskell#ghcup#cabal
Código-fonte colorido pela sintaxe num ecrã escuro
Código-fonte colorido pela sintaxe no ecrã.

Se está a começar com Haskell em 2026, a pergunta «como o instalo?» tem uma resposta clara: GHCup. É o instalador oficial e multiplataforma e o gestor de versões de toda a toolchain — o compilador (GHC), a ferramenta de build (cabal-install), o Stack e o backend do editor (HLS, o Haskell Language Server). Este guia percorre uma instalação limpa, a mudança de versões e os percalços com que as pessoas mais se deparam.

O que o GHCup gere de facto

O GHCup é uma única ferramenta que instala e alterna entre várias versões de cada componente, para que nunca fique preso a um só compilador:

  • GHC — o Glasgow Haskell Compiler.
  • cabal-install — a ferramenta de build cabal e o seu solver de dependências.
  • Stack — uma ferramenta de build alternativa com snapshots curados.
  • HLS — o Haskell Language Server, que alimenta o autocompletar, as informações de tipos e as refatorações no VS Code, no Neovim e noutros editores.

Substituiu o antigo pacote «Haskell Platform» precisamente porque os projetos reais precisam de versões diferentes do GHC, e o GHCup torna a mudança trivial.

Instalar o GHCup

Em Linux e macOS, a linha de comando oficial obtém um instalador interativo:

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

Tal como com qualquer script de instalação, leia primeiro o que ele faz — o código-fonte está no GitHub (haskell/ghcup-hs). No Windows, execute o instalador PowerShell documentado no site do GHCup; ele configura a mesma toolchain mais o ambiente MSYS2 necessário.

O instalador propõe adicionar o GHCup ao perfil da sua shell para que ghc, cabal e companhia fiquem no seu PATH. Aceite e reinicie a shell.

A via interativa: ghcup tui

Um portátil numa secretária a mostrar código-fonte num editor
Um portátil a mostrar código-fonte num editor.

A forma mais rápida de gerir versões é a interface de terminal:

ghcup tui

Lista cada versão disponível do GHC, do Cabal, do Stack e do HLS com o respetivo estado (instalada, ativa, recomendada). Seleciona pelo teclado o que instalar ou ativar — sem comandos para memorizar.

Os equivalentes na linha de comando

Se prefere scripts ou CI, as mesmas ações são simples comandos:

# 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

Use os números de versão que o GHCup marca como recommended, a menos que um projeto fixe algo específico no seu cabal.project ou stack.yaml.

Primeiro build, para confirmar que funciona

cabal update          # refresh the package index
mkdir hello && cd hello
cabal init --simple --non-interactive
cabal run

Se isto apresentar uma saída, a sua toolchain está saudável. A partir daí, o próprio build é paralelo por predefinição — veja o nosso guia sobre como o Cabal aproveita os seus núcleos, e as mudanças mais profundas que chegaram com o Cabal 2.0 e o modelo new-build.

Percalços comuns

  • PATH não atualizado. Se o ghc devolver «command not found» após a instalação, saltou o passo do perfil — reexecute o instalador ou faça o source de ~/.ghcup/env.
  • Incompatibilidade de versão do HLS. O Haskell Language Server tem de suportar o seu GHC ativo. Se o HLS do seu editor não carregar, instale a build do HLS correspondente ao seu GHC através de ghcup tui.
  • GHC do sistema a sobrepor-se ao GHCup. Um GHC instalado pelo gestor de pacotes do seu sistema operativo pode prevalecer no PATH. Privilegie o que é gerido pelo GHCup e remova ou despriorize o pacote do sistema.
  • Índice de pacotes desatualizado. Os erros de resolução após uma longa pausa geralmente só precisam de cabal update.

Para o vocabulário usado nestes guias — planos de instalação, snapshots, sandboxes — o antigo guia das sandboxes do Cabal descreve como o isolamento evoluiu para os builds por projeto de hoje.

Stack ou Cabal depois do GHCup?

O GHCup instala ambos, por isso a escolha é sua. O Cabal, com o seu moderno modelo de build por projeto, é a opção predefinida por onde a maioria dos principiantes deve começar; o Stack acrescenta snapshots de pacotes curados que algumas equipas preferem pela reprodutibilidade. Ambos funcionam com o GHC gerido pelo GHCup, e pode mudar mais tarde sem reinstalar o compilador.

FAQ

O GHCup é a forma oficial de instalar Haskell? Sim — é o instalador recomendado no haskell.org e o ponto de entrada padrão da toolchain em 2026.

O GHCup funciona no Windows? Sim, através do seu instalador PowerShell, que também configura o ambiente MSYS2 de que o GHC precisa no Windows.

Posso ter várias versões do GHC ao mesmo tempo? Sim — é precisamente esse o objetivo. Instale várias e mude a versão ativa com ghcup set ghc <version>.

Ainda preciso da Haskell Platform? Não. O GHCup substituiu-a; instale individualmente os componentes de que precisa.

Guia independente, mantido pela comunidade. coldwa.st é um site de recursos de programação; este artigo é um texto novo e original sobre o GHCup e a atual toolchain Haskell, sem afiliação com os maintainers de qualquer ferramenta nem redigido por eles. Os comandos refletem o comportamento documentado do GHCup — verifique sempre a documentação oficial para os números de versão mais recentes.