Skip to content
SPECIFICTION
Get listed

GHCup vs plenv

GHCup

haskell.org

plenv

github.com

Side by side

FigureGHCupplenv
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WebYes—
WindowsYes—
macOSYesYes
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Runtime Version Managers8.6 (#1)7.5 (#17)
Spec score · Development Environment Managers8.5 (#7)7.4 (#35)
InstallationThe site provides terminal installation instructions for Linux, macOS, FreeBSD, and WSL2, and PowerShell instructions for Windows.The README documents installation from GitHub, from an archive, and through Homebrew on Mac OS X.
PurposeGHCup is the main installer for the general purpose language Haskell.plenv lets users select a Perl version for an application so the development environment matches production.
Version managementGHCup provides installation and management for versions of GHC, cabal, HLS, and Stack.It installs Perl versions under the user's home directory and lets them switch versions in a shell.

Plans

GHCup

  • GHCupFree

GHCup pricing →

plenv

  • plenvFree

plenv pricing →

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.

Visit haskell.org

plenv

plenv is a free Perl version manager for selecting the interpreter an application uses, helping keep development aligned with production. It installs Perl versions in the user’s home directory and switches between them in the shell. A `.perl-version` file can pin a Perl version to a directory, taking precedence over the global selection. Shell script wrappers called shims route Perl executable commands to the selected version. Setup instructions cover Bash and Zsh, with optional shell integration and autocompletion. Installation options include GitHub, an archive, and Homebrew on Mac OS X. The `perl-build` plugin supplies `plenv install`; `plenv-contrib` adds `use` and `lib` commands as a local::lib integration replacement. The README recommends Carton for upgrades and deployments. `migrate-modules` installs the newest module versions from one Perl environment into another, though the resulting versions may differ. The README lists Perl 5.8.1+ and Bash as dependencies, and curl for `plenv install-cpanm`. plenv supports Linux and macOS and is free software redistributable under the same terms as Perl itself.

Visit github.com