Skip to content
SPECIFICTION
Get listed

fnm vs GHCup

fnm

github.com

GHCup

haskell.org

Side by side

FigurefnmGHCup
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hosted—Yes
Plans published11
Spec score · Runtime Version Managers7.9 (#8)8.6 (#1)
Spec score · Development Environment Managers7.8 (#21)8.5 (#7)
Installationfnm is distributed as a single file and supports installation scripts, package managers, Cargo, and release binaries.The site provides terminal installation instructions for Linux, macOS, FreeBSD, and WSL2, and PowerShell instructions for Windows.
Purposefnm is a fast and simple Node.js version manager built in Rust.GHCup is the main installer for the general purpose language Haskell.

Plans

fnm

  • fnmFree

fnm pricing →

GHCup

  • GHCupFree

GHCup pricing →

In their own words

fnm

fnm is a free Node.js version manager built in Rust for developers working from a command line or shell. It runs on macOS, Windows, and Linux, and is distributed as a single file through installation scripts, package managers, Cargo, or release binaries. It reads `.node-version` and `.nvmrc` files, so projects can specify a Node.js version. Shell setup can also enable automatic version switching when changing directories. The project provides setup instructions for Bash, Zsh, Fish, PowerShell, Windows Command Prompt, and Cmder. Its binary includes completions for Bash, Zsh, Fish, and PowerShell. On macOS and Linux, the installation script requires `curl` and `unzip`. The repository identifies the license as GPL-3.0 and invites pull requests, with issues available for project interaction. No paid plans are listed. The project page reports no published security advisories, while also noting that it has not set up a SECURITY.md file.

Visit github.com

GHCup

GHCup is a free, open-source installer and version manager for the Haskell toolchain. It installs and manages GHC, cabal-install, Haskell Language Server (HLS), and Stack versions; Stack can also be configured to use GHC versions managed by GHCup. Listed functionality includes a terminal user interface and GHC cross-compilation. Installation guidance covers terminal commands for Linux, macOS, FreeBSD, and WSL2, alongside PowerShell instructions for Windows. The project describes Windows support as being in an early stage and uses a shim wrapper because Windows does not properly support symbolic links. On macOS, GHCup may prompt for command line tools; Windows setup includes msys2. The installer should be run as a non-root user on Unix-like systems and a non-admin user on Windows. GHCup relies on precompiled binaries, so compatibility can depend on the distribution and libraries such as libtinfo. WSL1 and macOS versions earlier than 10.13 are unsupported. Some ARM binaries are experimental: Stack and HLS on Linux ARM, and HLS bindists on macOS aarch64. Configuration can be stored in ~/.ghcup/config.yaml, with command-line options taking precedence.

Visit haskell.org