Haskell · toolchain · instalação
Instalar Haskell com o GHCup: o guia da toolchain 2026
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
cabale 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
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
ghcdevolver «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.