Technology moves fast! ⚡ Don't get left behind.🚶 Subscribe to our mailing list to keep up with latest and greatest in open source projects! 🏆


Subscribe to our mailing list

App-perlbrew

Manage perl installations in your $HOME

Subscribe to updates I use App-perlbrew


Statistics on App-perlbrew

Number of watchers on Github 582
Number of open issues 134
Average time to close an issue 3 months
Main language Perl
Average time to merge a PR 13 days
Open pull requests 4+
Closed pull requests 7+
Last commit over 1 year ago
Repo Created over 9 years ago
Repo Last Updated over 1 year ago
Size 2.42 MB
Homepage http://perlbrew.pl
Organization / Authorgugod
Contributors112
Page Updated
Do you use App-perlbrew? Leave a review!
View open issues (134)
View App-perlbrew activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating App-perlbrew for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

NAME

App::perlbrew - Manage perl installations in your $HOME

SYNOPSIS

# Installation
curl -L https://install.perlbrew.pl | bash

# Initialize
perlbrew init

# See what is available
perlbrew available

# Install some Perls
perlbrew install 5.18.2
perlbrew install perl-5.8.1
perlbrew install perl-5.19.9

# Install with thread support
perlbrew install -v perl-5.18.2 -Dusethreads

# See what were installed
perlbrew list

# Switch to an installation and set it as default
perlbrew switch perl-5.18.2

# Temporarily use another version only in current shell.
perlbrew use perl-5.8.1
perl -v

# Or turn it off completely. Useful when you messed up too deep.
# Or want to go back to the system Perl.
perlbrew off

# Use 'switch' command to turn it back on.
perlbrew switch perl-5.12.2

# Exec something with all perlbrew-ed perls
perlbrew exec -- perl -E 'say $]'

DESCRIPTION

perlbrew is a program to automate the building and installation of perl in an easy way. It provides multiple isolated perl environments, and a mechanism for you to switch between them.

Everything is installed under ~/perl5/perlbrew. You then need to include a bashrc/cshrc provided by perlbrew to tweak the PATH for you. You then can benefit from not having to run sudo commands to install cpan modules because those are installed inside your HOME too.

For the documentation of perlbrew usage see perlbrew command on MetaCPAN, or by running perlbrew help, or by visiting perlbrew's official website. The following documentation features the API of App::perlbrew module, and may not be remotely close to what your want to read.

INSTALLATION

It is the simplest to use the perlbrew installer, just paste this statement to your terminal:

curl -L https://install.perlbrew.pl | bash

Or this one, if you have fetch (default on FreeBSD):

fetch -o- https://install.perlbrew.pl | sh

After that, perlbrew installs itself to ~/perl5/perlbrew/bin, and you should follow the instruction on screen to modify your shell rc file to put it in your PATH.

The installed perlbrew command is a standalone executable that can be run with system perl. The minimum system perl version requirement is 5.8.0, which should be good enough for most of the OSes these days.

A fat-packed version of patchperl is also installed to ~/perl5/perlbrew/bin, which is required to build old perls.

The directory ~/perl5/perlbrew will contain all install perl executables, libraries, documentations, lib, site_libs. In the documentation, that directory is referred as perlbrew root. If you need to set it to somewhere else because, say, your HOME has limited quota, you can do that by setting PERLBREW_ROOT environment variable before running the installer:

export PERLBREW_ROOT=/opt/perl5
curl -L https://install.perlbrew.pl | bash

As a result, different users on the same machine can all share the same perlbrew root directory (although only original user that made the installation would have the permission to perform perl installations.)

You may also install perlbrew from CPAN:

cpan App::perlbrew

In this case, the perlbrew command is installed as /usr/bin/perlbrew or /usr/local/bin/perlbrew or others, depending on the location of your system perl installation.

Please make sure not to run this with one of the perls brewed with perlbrew. It's the best to turn perlbrew off before you run that, if you're upgrading.

perlbrew off
cpan App::perlbrew

You should always use system cpan (like /usr/bin/cpan) to install App::perlbrew because it will be installed under a system PATH like /usr/bin, which is not affected by perlbrew switch or use command.

The self-upgrade command will not upgrade the perlbrew installed by cpan command, but it is also easy to upgrade perlbrew by running cpan App::perlbrew again.

METHODS

  • (Str) current_perl

    Return the current perl object attribute string, or, if absent, the value of PERLBREW_PERL environment variable.

  • (Str) current_perl (Str)

    Set the current_perl object attribute to the given value.

PROJECT DEVELOPMENT

perlbrew project uses github https://github.com/gugod/App-perlbrew/issues and RT https://rt.cpan.org/Dist/Display.html?Queue=App-perlbrew for issue tracking. Issues sent to these two systems will eventually be reviewed and handled.

See https://github.com/gugod/App-perlbrew/contributors for a list of project contributors.

AUTHOR

Kang-min Liu <gugod@gugod.org>

COPYRIGHT

Copyright (c) 2010-2016 Kang-min Liu <gugod@gugod.org>.

LICENCE

The MIT License

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

App-perlbrew open issues Ask a question     (View All Issues)
  • over 2 years b
  • over 2 years fix links at `perlbrew --help` output
  • over 2 years perlbrew sets MACOSX_DEPLOYMENT_TARGET really low
  • over 2 years perlbrew doesn't install/make available a manpage
  • over 2 years perlbrew wants me to fiddle with non-existent scripts
  • over 2 years No longer able to brew blead
  • over 2 years exec --with ranges
  • over 2 years exec --without
  • almost 3 years per 5.22.2 error
  • almost 3 years Using perlbrew to install perl-5.8.9 32 bit on a centos 64 bit pc, produces errors.
  • almost 3 years huge speed difference in a script when perlbrew active
  • almost 3 years please create symlink to "current" logfile so that one can tail the log from install-multiple without changing the file name each time
  • about 3 years perlbrew should manage PERL5LIB/PERL_MM_OPT/PERL_MB_OPT
  • about 3 years (PATCH) Install script says it needs /bin/sh but actually requires bash
  • about 3 years upgrade-perl ignores 5.22.1?
  • about 3 years Perl lib version doesn't match executable '/usr/local/bin/perl' version
  • over 3 years uninstalling modules after performing upgrade-perl won't work with cpanm
  • over 3 years Module::Install::AuthorRequires needed for author_requires
  • over 3 years Support installation of relocatable-perl binary release.
  • over 3 years install using curl fails b/c of bad INC
  • over 3 years HELLPPP!! perlbrew setup and working.
  • over 3 years Use HTTP::Tinyish
  • over 3 years Request: groups for use with exec
  • over 3 years perlbrew mirror config doesn't work as expected
  • over 3 years Add support to list modules with their version numbers
  • almost 4 years Can't locate Getopt/Long.pm in @INC (@INC contains: FatPacked::10738960=HASH(0xa3dd10)
  • almost 4 years perlbrew.pm (~perl5/perlbrew/etc/bashrc) ; export PATH issue
  • almost 4 years perlbrew info
  • almost 4 years Can't locate Config.pm: Permission denide during install
  • almost 4 years Prior PERL5LIB is not correctly updated in fish shell for local::libs
App-perlbrew open pull requests (View All Pulls)
  • fix --notest option behaviour
  • add option --no-patchperl to disable patchperl on demand
  • Available with urls
  • Fix tests for perl 5.8
App-perlbrew list of languages used
More projects by gugod View all
Other projects in Perl