chruby vs GHCup
chruby
github.comGHCup
haskell.orgSide by side
| Figure | chruby | GHCup |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Runtime Version Managers | 7.9 (#7) | 8.6 (#1) |
| Spec score · Development Environment Managers | 7.9 (#17) | 8.5 (#7) |
| Purpose | chruby changes the current Ruby version in a shell. | GHCup is the main installer for the general purpose language Haskell. |
| Security | The README says all releases are PGP signed and gives instructions to verify a release signature. | The installation instructions use HTTPS with TLS 1.2 or later for the Linux, macOS, FreeBSD, and WSL2 bootstrap command. |
Plans
In their own words
chruby
chruby is a free, MIT-licensed shell utility for changing the Ruby version used in a session. Selecting a Ruby updates PATH and sets GEM_HOME and GEM_PATH for that installation. It can match installed Ruby names fuzzily and uses the system Ruby when no selection is made. Optional automatic switching checks the current and parent directories for a .ruby-version file. chruby supports bash 3 or later and zsh on Linux and macOS. Installation instructions cover a release tarball, Homebrew, Arch Linux AUR, Fedora Copr, and FreeBSD ports. Additional Ruby implementations can be installed with ruby-install or ruby-build. The project provides guidance for integrations including Capistrano, Chef, Cron, Emacs, Pow, Puppet, Sudo, Vim, and Fish. Releases are PGP signed, with verification instructions, and the codebase is described as about 100 lines with tests.
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.