ghcup-hs/docs/install.md

3.3 KiB

Getting started

Let's get started....

Installation

On Linux, macOS, FreeBSD or Windows Subsystem 2 for Linux, run the following in your terminal (as a user other than root), then follow the onscreen instructions:

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

If you are running Windows, run the following in a powershell session (as a non-admin user).

Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072;Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true

Advanced users may want to perform a manual installation.

Supported tools

GHCup supports the following tools:

  1. GHC
  2. cabal-install
  3. haskell-language-server
  4. stack

Supported platforms

This list may not be exhaustive and specifies support for bindists only.

Platform Architecture ghcup GHC cabal HLS stack
Windows 7 amd64
Windows 10 amd64
Windows Server 2016 amd64
Windows Server 2019 amd64
Windows Server 2022 amd64
Windows WSL1 amd64
Windows WSL2 amd64
MacOS >=13 amd64
MacOS <13 amd64
MacOS aarch64 ⚠️
FreeBSD amd64 ⚠️ ⚠️
Linux generic x86
Linux generic amd64
Linux generic aarch64 ⚠️ ⚠️
Linux generic armv7 ⚠️ ⚠️

Windows 7

May or may not work, several issues:

WSL1

Unsupported. GHC may or may not work. Upgrade to WSL2.

MacOS <13

Not supported. Would require separate binaries, since >=13 binaries are incompatible. Please upgrade.

MacOS aarch64

HLS bindists are still experimental. Stack is theoretically supported, but has no binaries yet.

FreeBSD

Lacks some upstream bindists and may need compat libs, since most bindists are built on FreeBSD-12. HLS bindists are experimental.

Linux ARMv7/AARCH64

Lower availability of bindists. HLS only has experimental ones. Stack not supported currently.

Manual install

Download the binary for your platform at https://downloads.haskell.org/~ghcup/ and place it into your PATH anywhere.

Then adjust your PATH in ~/.bashrc (or similar, depending on your shell) like so:

export PATH="$HOME/.cabal/bin:$HOME/.ghcup/bin:$PATH"

Vim integration

See ghcup.vim.