top of page
Search
dagnyclaire441c232

Centos Install All Perl Modules Version: Best Practices and Common Errors to Avoid



The Comprehensive Perl Archive Network (CPAN in short) is a popular central repository of currently 188,714 Perl modules in 40,986 distributions. It is a single location where you can find, download and install any of the incredible (and still growing) collection of Perl libraries.


It has 25,000 modules available and it is mirrored on servers around the world. It also supports automated testing: cross-platform and on multiple versions of Perl, and bug tracking for every library. Also, you can search it using various sites on the web, which offer tools such as grep, version-to-version diff as well as documentation.




Centos Install All Perl Modules Version



The CPAN Perl module is a core module that allows you to query, download, build and install Perl modules and extensions from CPAN sites. It has been distributed with Perl since 1997 (5.004). It includes some primitive searching capabilities and supports named and versioned bundles of modules.


To install Perl modules using CPAN, you need to use the cpan command-line utility. You can either run cpan with arguments from the command-line interface, for example, to install a module (e.g Geo::IP) use the -i flag as shown.


Alternatively, you can run a cpan without arguments to start CPAN.pm shell. Then use the install sub-command to install a module (e.g Log::Log4perl) as shown.


App::cpanminus(cpanm) is another popular module used to download, unpack, build and install modules from CPAN. To get it working on your system, install the App::cpanminus module as shown.


CPAN is a single location where you can find, download and install Perl modules; it currently has 192,207 Perl modules in 41,002 distributions. If you have any queries, share them with us via the feedback form below.


During WFA installation, the WFA installer verifies that all of the Perl modules are available in the system, and then proceeds when this requirement is met. You must install the Perl modules before installing OnCommand Workflow Automation (WFA).


Red Hat Enterprise Linux in version 8 (RHEL 8) comes with modules, a packaging concept that allows system administrators to select the desired software version from multiple packaged versions. This article shows you how to manage Perl as a module, as well as how to manage the CPAN modules provided by Perl, in RHEL 8.


The output shows that you have Perl 5.26.3. This is the default version supported for the next 10 years. If you are fine with that, then you don't need to worry about modules. But what if you want to try a different version? There are various reasons for enabling another version of your software. Most often, you might have an existing application that depends on a combination of modules, and some don't work with updated versions of Perl. Not all modules are compatible with other modules.


The output shows that a module is available for both Perl 5.24 and Perl 5.26. These are called streams in the modularity world, and they denote independent variants of the same software stack, usually different versions. The [d] flag marks a default stream, which is the one installed if you do not explicitly enable a different stream. So the previous output explains why yum installed Perl 5.26.3 and not one of the 5.24 micro versions.


Great! Installing the non-default module worked. The desired version of Perl is installed to a standard path (/usr/bin/perl) and is therefore invoked with the perl command. No scl enable incantation is needed, in contrast to a requirement associated with the old software collections.


The DBD::SQLite CPAN module was found in the perl-DBD-SQLite RPM package that's part of perl-DBD-SQLite:1.58 modularity module. It apparently requires some dependencies from the perl-DBI:1.641 modularity module too. After asking for confirmation, yum enabled the necessary streams and installed the packages.


Notice that perl:5.24 is enabled ([e]) and thus takes precedence over perl:5.26, which would otherwise be a default stream ([d]). Other enabled modularity modules are perl-DBD-SQLite:1.58 and perl-DBI:1.641. Those were enabled when you installed DBD::SQLite. These two modules have no other streams.


I hope this tutorial has shed some light on modules, a Red Hat Enterprise Linux 8 feature that lets you install multiple versions of software on top of one Linux platform. If you need more details, please read the documentation accompanying the product (namely, the userspace component management document and the yum(8) manual page) or ask the support team for help.


This brief guide explains how to install Perl modules on Linux from CPAN (Comprehensive Perl Archive Network) repository. As of writing this guide, there are 185,128 Perl modules available in CPAN. Many programs written in Perl programming language depends on certain perl modules to perform a specific task. For example, the other day I was testing Sysadmin-util which provides a collection of useful tools for Linux/Unix sysadmins. When I test a specific tool called multi-ping, I encountered with the following error:


There are many tools available to install and Perl modules. We are going to try two tools namely cpan and cpanm. It is worth mentioning that Many modules on CPAN requires the recent version of Perl version 5.8 or above.


Cpanminus or cpanm is a cpan client to get, unpack, build and install modules from CPAN repository. It is a standalone, dependency-free script that requires zero-configuration. Many experienced Perl developers prefer cpanm over cpan.


Most Perl modules are written in Perl, some use XS (they are written in C) so require a C compiler (it's easy to get this setup - don't panic), see your OS of choice below to find out how to get the right compiler. Modules may have dependencies on other modules (almost always on CPAN) and cannot be installed without them (or without a specific version of them). It is worth throughly reading the documentation for the options below. Many modules on CPAN require a somewhat recent version of Perl (version 5.8 or above).


local::lib enables you to install modules into a specified directory, without requiring root or administrator access. See the bootstrapping technique for how to get started. You can create a directory per user/project/company and deploy to other servers, by copying the directory (as long as you are on the same operating system and perl version).


cpanm from App::cpanminus is a script to get, unpack, build and install modules from CPAN. It's dependency free (can bootstrap itself) and requires zero configuration (install instructions). It automates the entire build process for the majority of modules on CPAN and works well with local::lib and perlbrew. Many experienced Perl developers use this as their tool of choice. Related tools: cpan-outdated, pm-uninstall, cpan-listchanges.


perlbrew from App::perlbrew is useful if your system perl is too old to support modern CPAN modules, or if it's troublesome in other capacities (RedHat/CentOS are included in this list). perlbrew makes the process of installing a Perl in any directory much easier, so that you can work completely independently of any system Perl without needing root or administrator privileges. You can use multiple versions of Perl (maybe as you upgrade) across different projects. The separation from your system Perl makes server maintenance much easier and you more confident about how your project is setup. Currently Windows is not supported.


Strawberry Perl is an open source binary distribution of Perl for the Windows operating system. It includes a compiler and pre-installed modules that offer the ability to install XS CPAN modules directly from CPAN. It also comes with lots of modules pre-installed, including cpanm.


ActiveState provide a binary distribution of Perl (for many platforms), as well as their own perl package manager (ppm). Some modules are not available as ppm's or have reported errors on the ppm build system, this does not mean they do not work. You can use the cpan script to build modules from CPAN against ActiveState Perl.


OSX comes with Perl pre-installed. in order to build and install your own modules you will need to install the "Command Line Tools for XCode" or "XCode" package - details on our ports page. Once you have done this you can use all of the tools mentioned above.


Before using Perlbrew to install a version of Perl, you should edit your .bash_profile file so it automatically sets some important Perlbrew environment variables. Perlbrew makes this easy by including the needed code in another configuration file which you can include in your .bash_profile.


At any time after using the perlbrew use or perlbrew switch commands, you can return to using the vendor version of Perl by using the command perlbrew off. If you used perlbrew switch to set a new default Perl, you can remove that default setting with perlbrew switch-off.


If you are not sure what to install to round out your core Perl installation, take a look at Task::Kensho, which describes numerous modules addressing a wide range of tasks that are considered production-ready.


In this tutorial you installed Perlbrew and used it to install a local version of Perl in your home directory. You also learned how to use Perlbrew to install and manage multiple versions of Perl, and how to install additional modules from the CPAN repository with the cpanm utility. You can use the same process to install different versions of Perl 5, so you can install the version you need for your app.


Perl module features and behaviour can change from version to version and so knowing the version number of an installed Perl module can be useful in several scenarios. Below are three different command line methods for finding out the version number of an installed module that work on Bash and Windows Powershell. So fire up the terminal and get typing! 2ff7e9595c


1 view0 comments

Recent Posts

See All

Comments


bottom of page