community.general.cpanm module – Manages Perl library dependencies
Note
This module is part of the community.general collection (version 7.5.2).
You might already have this collection installed if you are using the ansible
package.
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.cpanm
.
Synopsis
Manage Perl library dependencies using cpanminus.
Aliases: packaging.language.cpanm
Parameters
Parameter |
Comments |
---|---|
Override the path to the cpanm executable. |
|
The local directory or |
|
Only install dependencies. Choices:
|
|
Specify the install base to install modules. |
|
Specifies the base URL for the CPAN mirror to use. |
|
Use the mirror’s index file instead of the CPAN Meta DB. Choices:
|
|
Controls the module behavior. See notes below for more details. Default is Choices:
|
|
Do not run unit tests. Choices:
|
|
Version specification for the perl module. When |
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: none |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Notes
Note
Please note that http://search.cpan.org/dist/App-cpanminus/bin/cpanm,%20cpanm must be installed on the remote host.
This module now comes with a choice of execution
mode
:compatibility
ornew
.mode=compatibility
: When usingcompatibility
mode, the module will keep backward compatibility. This is the default mode.name
must be either a module name or a distribution file. If the perl module given byname
is installed (at the exactversion
when specified), then nothing happens. Otherwise, it will be installed using thecpanm
executable.name
cannot be an URL, or a git URL.cpanm
version specifiers do not work in this mode.mode=new
: When usingnew
mode, the module will behave differently. Thename
parameter may refer to a module name, a distribution file, a HTTP URL or a git repository URL as described incpanminus
documentation.cpanm
version specifiers are recognized.
Examples
- name: Install Dancer perl package
community.general.cpanm:
name: Dancer
- name: Install version 0.99_05 of the Plack perl package
community.general.cpanm:
name: MIYAGAWA/Plack-0.99_05.tar.gz
- name: Install Dancer into the specified locallib
community.general.cpanm:
name: Dancer
locallib: /srv/webapps/my_app/extlib
- name: Install perl dependencies from local directory
community.general.cpanm:
from_path: /srv/webapps/my_app/src/
- name: Install Dancer perl package without running the unit tests in indicated locallib
community.general.cpanm:
name: Dancer
notest: true
locallib: /srv/webapps/my_app/extlib
- name: Install Dancer perl package from a specific mirror
community.general.cpanm:
name: Dancer
mirror: 'http://cpan.cpantesters.org/'
- name: Install Dancer perl package into the system root path
become: true
community.general.cpanm:
name: Dancer
- name: Install Dancer if it is not already installed OR the installed version is older than version 1.0
community.general.cpanm:
name: Dancer
version: '1.0'