GHCup vs RVM
GHCup
haskell.orgRVM
rvm.ioSide by side
| Figure | GHCup | RVM |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 0 |
| Spec score · Runtime Version Managers | 8.6 (#1) | 7.4 (#20) |
| Spec score · Development Environment Managers | 8.5 (#7) | 7.3 (#40) |
| Installation requirements | On macOS, running GHCup may prompt the user to install command line tools; on Windows, msys2 should be set up during installation. | The installation page lists bash, curl, gpg2, and GNU versions of tools as basic requirements. |
| Purpose | GHCup is the main installer for the general purpose language Haskell. | RVM is a command-line tool for installing and managing multiple Ruby environments, from interpreters to gem sets. |
| Security | The installation instructions use HTTPS with TLS 1.2 or later for the Linux, macOS, FreeBSD, and WSL2 bootstrap command. | RVM says it cryptographically signs releases and the installer script, and verifies signatures during updates. |
Plans
In their own words
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.
RVM
RVM is a command-line tool for installing and managing Ruby versions and gem sets. It can create a self-contained environment for each project, with a selected Ruby version and the gems that project needs. Named gemsets organize gems across Ruby versions, and a shared cache stores one on-disk copy of each downloaded gem. RVM can run test suites, rake tasks, benchmarks, and gem commands against multiple Ruby versions at the same time, supporting consistent setups across development, CI, QA, staging, and production. Its commands cover installing, selecting, upgrading, reinstalling, uninstalling, and removing Ruby versions. Documented integrations include Bundler, Capistrano, Chef, Jenkins, Heroku, and Passenger. RVM supports most UNIX-like systems and Windows through Cygwin or Bash on Ubuntu on Windows. Basic installation needs Bash, curl, gpg2, and GNU tools; git is needed for head Ruby versions. It documents single-user, multi-user, and mixed-mode installs, and recommends single-user mode for an isolated home-directory setup. RVM is free and maintained by community volunteers.