cpanm man page on Oracle

Man page or keyword search:  
man Server   33470 pages
apropos Keyword Search (all sections)
Output format
Oracle logo
[printable version]

CPANM(1)	      User Contributed Perl Documentation	      CPANM(1)

       cpanm - get, unpack build and install modules from CPAN

	 cpanm Test::More				  # install Test::More
	 cpanm MIYAGAWA/Plack-0.99_05.tar.gz		  # full distribution path
	 cpanm  # install from URL
	 cpanm ~/dists/MyCompany-Enterprise-1.00.tar.gz	  # install from a local file
	 cpanm --interactive Task::Kensho		  # Configure interactively
	 cpanm .					  # install from local directory
	 cpanm --installdeps .				  # install all the deps for the current directory
	 cpanm -L extlib Plack				  # install Plack and all non-core deps into extlib
	 cpanm --mirror DBI  # use the fast-syncing mirror

	   Command line arguments can be either a module name, distribution
	   file, local file path, HTTP URL or git repository URL. Following
	   commands will all work as you expect.

	       cpanm Plack
	       cpanm Plack/
	       cpanm MIYAGAWA/Plack-1.0000.tar.gz
	       cpanm /path/to/Plack-1.0000.tar.gz
	       cpanm git://

	   Additionally, you can use the notation using "~" and "@" to specify
	   version for a given module. "~" specifies the version requirement
	   in the CPAN::Meta::Spec format, while "@" pins the exact version,
	   and is a shortcut for "~"== VERSION"".

	       cpanm Plack~1.0000		  # 1.0000 or later
	       cpanm Plack~">= 1.0000, < 2.0000"  # latest of 1.xxxx
	       cpanm Plack@0.9990		  # specific version. same as Plack~"== 0.9990"

	   The version query including specific version or range will be sent
	   to MetaCPAN to search for previous releases. The query will search
	   for BackPAN archives by default, unless you specify "--dev" option,
	   in which case, archived versions will be filtered out.

	   For a git repository, you can specify a branch, tag, or commit SHA
	   to build. The default is "master"

	       cpanm git://	       # tag
	       cpanm git://	       # branch

       -i, --install
	   Installs the modules. This is a default behavior and this is just a
	   compatibility option to make it work like cpan or cpanp.

	   Upgrades itself. It's just an alias for:

	     cpanm App::cpanminus

	   Displays the distribution information in
	   "AUTHOR/Dist-Name-ver.tar.gz" format in the standard out.

	   Installs the dependencies of the target distribution but won't
	   build itself. Handy if you want to try the application from a
	   version controlled repository such as git.

	     cpanm --installdeps .

	   Download and unpack the distribution and then open the directory
	   with your shell. Handy to poke around the source code or do manual

       -U, --uninstall
	   EXPERIMENTAL: Uninstalls the modules. Will remove the distribution
	   files from your library path using the ".packlist" file.

	   When used with "-l" or "-L", only the files under the local::lib
	   directory will be removed.

	   NOTE: If you have the "dual-life" module in multiple locations
	   (i.e. "site_perl" and "perl" library path, with perl 5.12 or
	   later), only the files in "site_perl" will be deleted.

	   If the distribution has bin scripts and man, they will be kept in
	   case the core installation still references that, although there's
	   no guarantee that the script will continue working as expected with
	   the older version of .pm files.

       -h, --help
	   Displays the help message.

       -V, --version
	   Displays the version number.

       You can specify the default options in "PERL_CPANM_OPT" environment

       -f, --force
	   Force install modules even when testing failed.

       -n, --notest
	   Skip the testing of modules. Use this only when you just want to
	   save time for installing hundreds of distributions to the same perl
	   and architecture you've already tested to make sure it builds fine.

	   Defaults to false, and you can say "--no-notest" to override when
	   it is set in the default options in "PERL_CPANM_OPT".

	   Run the tests only, and do not install the specified module or
	   distributions. Handy if you want to verify the new (or even old)
	   releases pass its unit tests without installing the module.

	   Note that if you specify this option with a module or distribution
	   that has dependencies, these dependencies will be installed if you
	   don't currently have them.

       -S, --sudo
	   Switch to the root user with "sudo" when installing modules. Use
	   this if you want to install modules to the system perl include

	   Defaults to false, and you can say "--no-sudo" to override when it
	   is set in the default options in "PERL_CPANM_OPT".

       -v, --verbose
	   Makes the output verbose. It also enables the interactive
	   configuration. (See --interactive)

       -q, --quiet
	   Makes the output even more quiet than the default. It only shows
	   the successful/failed dependencies to the output.

       -l, --local-lib
	   Sets the local::lib compatible path to install modules to. You
	   don't need to set this if you already configure the shell
	   environment variables using local::lib, but this can be used to
	   override that as well.

       -L, --local-lib-contained
	   Same with "--local-lib" but with --self-contained set.  All non-
	   core dependencies will be installed even if they're already

	   For instance,

	     cpanm -L extlib Plack

	   would install Plack and all of its non-core dependencies into the
	   directory "extlib", which can be loaded from your application with:

	     use local::lib '/path/to/extlib';

	   When examining the dependencies, assume no non-core modules are
	   installed on the system. Handy if you want to bundle application
	   dependencies in one directory so you can distribute to other

	   Specifies the base URL for the CPAN mirror to use, such as
	   "" (you can omit the trailing slash).
	   You can specify multiple mirror URLs by repeating the command line

	   You can use a local directory that has a CPAN mirror structure
	   (created by tools such as OrePAN or Pinto) by using a special URL
	   scheme "file://". If the given URL begins with `/` (without any
	   scheme), it is considered as a file scheme as well.

	     cpanm --mirror file:///path/to/mirror
	     cpanm --mirror ~/minicpan	    # Because shell expands ~ to /home/user

	   Defaults to "".

	   Download the mirror's 02packages.details.txt.gz index file instead
	   of querying the CPAN Meta DB. This will also effectively opt out
	   sending your local perl versions to backend database servers such
	   as CPAN Meta DB and MetaCPAN.

	   Select this option if you are using a local mirror of CPAN, such as
	   minicpan when you're offline, or your own CPAN index (a.k.a

	   Tip: It might be useful if you name these mirror options with your
	   shell aliases, like:

	     alias minicpanm='cpanm --mirror ~/minicpan --mirror-only'
	     alias darkpan='cpanm --mirror --mirror-only'

	   EXPERIMENTAL: Specifies the file path to "02packages.details.txt"
	   for module search index.

	   Prompts when a test fails so that you can skip, force install,
	   retry or look in the shell to see what's going wrong. It also
	   prompts when one of the dependency failed if you want to proceed
	   the installation.

	   Defaults to false, and you can say "--no-prompt" to override if
	   it's set in the default options in "PERL_CPANM_OPT".

	   EXPERIMENTAL: search for a newer developer release as well.
	   Defaults to false.

	   cpanm, when given a module name in the command line (i.e. "cpanm
	   Plack"), checks the locally installed version first and skips if it
	   is already installed. This option makes it skip the check, so:

	     cpanm --reinstall Plack

	   would reinstall Plack even if your locally installed version is
	   latest, or even newer (which would happen if you install a
	   developer release from version control repositories).

	   Defaults to false.

	   Makes the configuration (such as "Makefile.PL" and "Build.PL")
	   interactive, so you can answer questions in the distribution that
	   requires custom configuration or Task:: distributions.

	   Defaults to false, and you can say "--no-interactive" to override
	   when it's set in the default options in "PERL_CPANM_OPT".

       --pp, --pureperl
	   Prefer Pure perl build of modules by setting "PUREPERL_ONLY=1" for
	   MakeMaker and "--pureperl-only" for Build.PL based distributions.
	   Note that not all of the CPAN modules support this convention yet.

       --with-recommends, --with-suggests
	   EXPERIMENTAL: Installs dependencies declared as "recommends" and
	   "suggests" respectively, per META spec. When these dependencies
	   fail to install, cpanm continues the installation, since they're
	   just recommendation/suggestion.

	   Enabling this could potentially make a circular dependency for a
	   few modules on CPAN, when "recommends" adds a module that
	   "recommends" back the module in return.

	   There's also "--without-recommend" and "--without-suggests" to
	   override the default decision made earlier in "PERL_CPANM_OPT".

	   Defaults to false for both.

       --with-feature, --without-feature, --with-all-features
	   EXPERIMENTAL: Specifies the feature to enable, if a module supports
	   optional features per META spec 2.0.

	       cpanm --with-feature=opt_csv Spreadsheet::Read

	   the features can also be interactively chosen when "--interactive"
	   option is enabled.

	   "--with-all-features" enables all the optional features, and
	   "--without-feature" can select a feature to disable.

       --configure-timeout, --build-timeout, --test-timeout
	   Specify the timeout length (in seconds) to wait for the configure,
	   build and test process. Current default values are: 60 for
	   configure, 3600 for build and 1800 for test.

       --configure-args, --build-args, --test-args, --install-args
	   EXPERIMENTAL: Pass arguments for configure/build/test/install
	   commands respectively, for a given module to install.

	       cpanm DBD::mysql --configure-args="--cflags=... --libs=..."

	   The argument is only enabled for the module passed as a command
	   line argument, not dependencies.

	   Scans the depencencies of given modules and output the tree in a
	   text format. (See "--format" below for more options)

	   Because this command doesn't actually install any distributions, it
	   will be useful that by typing:

	     cpanm --scandeps Catalyst::Runtime

	   you can make sure what modules will be installed.

	   This command takes into account which modules you already have
	   installed in your system. If you want to see what modules will be
	   installed against a vanilla perl installation, you might want to
	   combine it with "-L" option.

	   Determines what format to display the scanned dependency tree.
	   Available options are "tree", "json", "yaml" and "dists".

	   tree	   Displays the tree in a plain text format. This is the
		   default value.

	   json, yaml
		   Outputs the tree in a JSON or YAML format. JSON and YAML
		   modules need to be installed respectively. The output tree
		   is represented as a recursive tuple of:

		     [ distribution, dependencies ]

		   and the container is an array containing the root elements.
		   Note that there may be multiple root nodes, since you can
		   give multiple modules to the "--scandeps" command.

	   dists   "dists" is a special output format, where it prints the
		   distribution filename in the depth first order after the
		   dependency resolution, like:


		   which means you can install these distributions in this
		   order without extra dependencies. When combined with "-L"
		   option, it will be useful to replay installations on other

	   Specifies the optional directory path to copy downloaded tarballs
	   in the CPAN mirror compatible directory structure i.e.

	   If the distro tarball did not come from CPAN, for example from a
	   local file or from GitHub, then it will be saved under

	   Uninstalls the shadow files of the distribution that you're
	   installing. This eliminates the confusion if you're trying to
	   install core (dual-life) modules from CPAN against perl 5.10 or
	   older, or modules that used to be XS-based but switched to pure
	   perl at some version.

	   If you run cpanm as root and use "INSTALL_BASE" or equivalent to
	   specify custom installation path, you SHOULD disable this option so
	   you won't accidentally uninstall dual-life modules from the core
	   include path.

	   Defaults to true if your perl version is smaller than 5.12, and you
	   can disable that with "--no-uninst-shadows".

	   NOTE: Since version 1.3000 this flag is turned off by default for
	   perl newer than 5.12, since with 5.12 @INC contains site_perl
	   directory before the perl core library path, and uninstalling
	   shadows is not necessary anymore and does more harm by deleting
	   files from the core library path.

       --uninstall, -U
	   Uninstalls a module from the library path. It finds a packlist for
	   given modules, and removes all the files included in the same

	   If you enable local::lib, it only removes files from the local::lib

	   If you try to uninstall a module in "perl" directory (i.e. core
	   module), an error will be thrown.

	   A dialog wil be prompted to confirm the files to be deleted. If you
	   pass "-f" option as well, the dialog will be skipped and
	   uninstallation will be forced.

	   EXPERIMENTAL: Specifies whether to cascade search when you specify
	   multiple mirrors and a mirror doesn't have a module or has a lower
	   version of the module than requested. Defaults to false.

	   Specifies whether a module given in the command line is skipped if
	   its latest version is already installed. Defaults to true.

	   NOTE: The "PERL5LIB" environment variable have to be correctly set
	   for this to work with modules installed using local::lib, unless
	   you always use the "-l" option.

	   EXPERIMENTAL: Specifies whether a module (and version) given in the
	   command line is skipped if it's already installed.

	   If you run:

	     cpanm --skip-satisfied CGI DBI~1.2

	   cpanm won't install them if you already have CGI (for whatever
	   versions) or have DBI with version higher than 1.2. It is similar
	   to "--skip-installed" but while "--skip-installed" checks if the
	   latest version of CPAN is installed, "--skip-satisfied" checks if a
	   requested version (or not, which means any version) is installed.

	   Defaults to false.

	   Verify the integrity of distribution files retrieved from PAUSE
	   using CHECKSUMS and SIGNATURES (if found). Defaults to false.

	   Whether it report the locally installed perl version to the various
	   web server as part of User-Agent. Defaults to true, and you can
	   disable it by using "--no-report-perl-version".

	   Specifies the number of days in which cpanm's work directories
	   expire. Defaults to 7, which means old work directories will be
	   cleaned up in one week.

	   You can set the value to 0 to make cpan never cleanup those

	   Generates man pages for executables (man1) and libraries (man3).

	   Defaults to true (man pages generated) unless
	   "-L|--local-lib-contained" option is supplied in which case it's
	   set to false. You can disable it with "--no-man-pages".

	   Uses LWP module to download stuff over HTTP. Defaults to true, and
	   you can say "--no-lwp" to disable using LWP, when you want to
	   upgrade LWP from CPAN on some broken perl systems.

	   Uses GNU Wget (if available) to download stuff. Defaults to true,
	   and you can say "--no-wget" to disable using Wget (versions of Wget
	   older than 1.9 don't support the "--retry-connrefused" option used
	   by cpanm).

	   Uses cURL (if available) to download stuff. Defaults to true, and
	   you can say "--no-curl" to disable using cURL.

	   Normally with "--lwp", "--wget" and "--curl" options set to true
	   (which is the default) cpanm tries LWP, Wget, cURL and HTTP::Tiny
	   (in that order) and uses the first one available.


       Copyright 2010 Tatsuhiko Miyagawa.

       Tatsuhiko Miyagawa

perl v5.16.3			  2013-06-19			      CPANM(1)

List of man pages available for Oracle

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net