perl Cookbook
(opens in a new tab) (opens in a new tab) (opens in a new tab)
Manages Perl installation and provides cpan_module
, to install modules from... CPAN.
Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit sous-chefs.org (opens in a new tab) or come chat with us on the Chef Community Slack in #sous-chefs (opens in a new tab).
Requirements
Platforms
- Debian/Ubuntu/Mint
- RHEL/CentOS/Scientific/Amazon/Oracle
- Fedora
- openSUSE
- Windows
Chef
- Chef 13.4+
Cookbooks
- none
Recipes
default
- On Linux installs perl packages and pulls cpanm from Github. On Windows installs the Strawberry Perl Chocolatey package. Requires Chocolatey to be installed prior to running this cookbook, which can be done with the chocolatey cookbook (opens in a new tab) from the Supermarket.
Attributes
The cookbook ships with a sane set of platform specific attributes for installing perl as well as cpanm. There should be no need to modify these attributes to use this cookbook.
node['perl']['packages']
- platform specific packages installed by default recipenode['perl']['cpanm']['path']
- platform specific path forcpanm
binary to livenode['perl']['cpanm']['url']
- URL to download cpanm script from (*nix only)node['perl']['cpanm']['checksum']
- checksum for the above remote file (*nix only)node['perl']['version']
- version of perl to install. (windows only)node['perl']['cpanm']['path']
- The path to the cpanm binary. On *nix systems this is where the file will be installed. On Windows it's part of Strawberry Perl so no additional installation is required.node['perl']['cpanm']['suppress_diff']
- Whether or not to suppress the diff of the cpanm file.
Resources
cpan_module
Actions
:install
- install the module (default action):uninstall
- uninstall the module
Properties
module_name
- The name of the module if it's different than the name of the resource propertyforce
- To force the install within cpanm (default: false)test
- To do a test install (default: false)version
- Any version string cpanm would find acceptablecwd
- A path to change into before running cpanm
Examples
To install a module from CPAN:
cpan_module 'App::Munchies'
Optionally, installation can forced with the 'force' parameter.
cpan_module 'App::Munchies'
force true
end
You can also use cpanm's version mechanism (opens in a new tab) to grab a specific version, or glob a version.
Exactly version 1.01 of App::Munchies
will be installed:
cpan_module 'App::Munchies'
version '== 1.01'
end
At least version 1.01 of App::Munchies
will be installed:
cpan_module 'App::Munchies'
version '1.01'
end
At least version 1.01 will be installed, but not version 2:
cpan_module 'App::Munchies'
version '>= 1.01, < 2.0'
end
Additionally, you can use the cpan_module
LWRP to delete a given package (uses cpanm's --uninstall
param)
cpan_module 'App::Munchies'
action :uninstall
end
Contributors
This project exists thanks to all the people who contribute. (opens in a new tab)
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.