FREEDOM251

Freedom251 › Runtime Version Managers

plenv

Free plan LinuxMac

Visit plenv Alternatives Pricing

plenv's own site

What plenv is

plenv is a free Perl version manager for choosing which Perl a project uses. It installs Perl versions under the user’s home directory and lets users switch versions in a shell, helping align a development environment with production. A `.perl-version` file can set a project-specific version for a directory; that local selection takes precedence over the global version. Perl commands are routed through shell script wrappers called shims.

The project documents setup for Bash and Zsh, including optional shell integration and autocompletion. Users can install plenv from GitHub, an archive, or Homebrew on Mac OS X. The `perl-build` plugin provides the `plenv install` command, while `plenv-contrib` adds `use` and `lib` commands as a local::lib integration replacement. The README recommends Carton for Perl upgrades and deployments. Its `migrate-modules` command installs the newest module versions from one Perl environment into another, and those versions may differ from the original environment.

plenv supports Linux and macOS and is distributed as free software under the same terms as Perl itself. The listed dependencies are Perl 5.8.1 or later and Bash; curl is needed for `plenv install-cpanm`. plenv is incompatible with perlbrew, so existing perlbrew installations and shell initialization references must be removed before installing plenv. Bug reports can be sent through GitHub issues.

Who it suits

plenv suits Perl developers who need different Perl versions for different projects or want a development environment to match production. It is aimed at Linux and macOS users who work in Bash or Zsh and are comfortable installing a command-line tool and managing shell setup.

What it does well

  • A `.perl-version` file can pin Perl to a project directory.
  • Local project versions take precedence over the global selection.
  • Optional Bash and Zsh shell integration and autocompletion are documented.
  • Plugins add installation and local::lib integration commands.
  • The module migration command can move modules between Perl environments.
  • It is free software under the same terms as Perl itself.

What to know first

  • plenv is incompatible with perlbrew.
  • The listed dependencies include Perl 5.8.1+ and Bash.
  • Module migration may produce different module versions.
  • curl is needed for `plenv install-cpanm`.

Limits

plenv requires Perl 5.8.1 or later and Bash; curl is required for `plenv install-cpanm`. It cannot be used alongside perlbrew, and migrated modules may have different versions in the destination environment.

Plans

PlanBilled and limitsPrice
plenvPerl binary manager · free software under the same terms as Perl 5Free

As github.com lists them, read 7 Oct 2026. The maker's own page has the final word.

Getting started

  1. Visit https://github.com/tokuhirom/plenv.
  2. Install plenv from GitHub, an archive, or Homebrew on Mac OS X.
  3. Set up the shell using the documented Bash or Zsh instructions.
  4. Optionally enable shell integration and autocompletion.
  5. Use the `perl-build` plugin for the `plenv install` command, if needed.
  6. Add a `.perl-version` file in a project directory to select its Perl version.

Verdict

Choose plenv if you need project-specific Perl versions on Linux or macOS and want shell-based switching. Its local version file and shims provide per-project selection, while plugins extend installation and module workflows. Look elsewhere if you need to keep using perlbrew, which is incompatible with plenv.

Questions

Is plenv free?

Yes. plenv is free software redistributable under the same terms as Perl itself.

Which operating systems does plenv support?

The project lists Linux and macOS support.

How does plenv select a project’s Perl version?

A `.perl-version` file sets a local version for its directory, overriding the global selection.

Which shells are documented?

The README documents Bash and Zsh setup, with optional shell integration and autocompletion.

Can I use plenv with perlbrew?

No. plenv is incompatible with perlbrew; the README says to uninstall perlbrew and remove its shell initialization references before installing plenv.

How can I install plenv?

The README documents installation from GitHub, from an archive, and through Homebrew on Mac OS X.

Facts from plenv's own pages

Compatibility limit
plenv is incompatible with perlbrew, and the README says to uninstall perlbrew and remove its shell initialization references before installing plenv. · github.com, 7 Oct 2026
Dependencies
The README lists Perl 5.8.1+ and Bash as dependencies, with curl needed for `plenv install-cpanm`. · github.com, 7 Oct 2026
Founded
2013 · github.com, 28 Sept 2026
Installation
The README documents installation from GitHub, from an archive, and through Homebrew on Mac OS X. · github.com, 7 Oct 2026
Integrations
The README recommends using plenv with Carton for Perl upgrades and deployments. · github.com, 7 Oct 2026
License
The project says plenv is free software redistributable under the same terms as Perl itself. · github.com, 7 Oct 2026
Module migration
The `migrate-modules` command installs the newest versions of modules from one Perl environment into another, and the README cautions that versions may differ. · github.com, 7 Oct 2026
Plugins
perl-build provides the `plenv install` command, and plenv-contrib adds `use` and `lib` commands as a local::lib integration replacement. · github.com, 7 Oct 2026
Project versions
A `.perl-version` file sets a local Perl version for a directory, overriding the global version. · github.com, 7 Oct 2026
Purpose
plenv lets users select a Perl version for an application so the development environment matches production. · github.com, 7 Oct 2026
Shell support
The README documents setup for Bash and Zsh, including optional shell integration and autocompletion. · github.com, 7 Oct 2026
Shims
plenv uses shell script wrappers called shims for Perl executables. · github.com, 7 Oct 2026
Support
The README directs users to GitHub issues for bug reports. · github.com, 7 Oct 2026
Version management
It installs Perl versions under the user's home directory and lets them switch versions in a shell. · github.com, 7 Oct 2026

Where plenv stands on Freedom251

Look at these too