1App::cpanminus(3)     User Contributed Perl Documentation    App::cpanminus(3)
2
3
4

NAME

6       App::cpanminus - get, unpack, build and install modules from CPAN
7

SYNOPSIS

9           cpanm Module
10
11       Run "cpanm -h" or "perldoc cpanm" for more options.
12

DESCRIPTION

14       cpanminus is a script to get, unpack, build and install modules from
15       CPAN and does nothing else.
16
17       It's dependency free (can bootstrap itself), requires zero
18       configuration, and stands alone. When running, it requires only 10MB of
19       RAM.
20

INSTALLATION

22       There are several ways to install cpanminus to your system.
23
24   Package management system
25       There are Debian packages, RPMs, FreeBSD ports, and packages for other
26       operation systems available. If you want to use the package management
27       system, search for cpanminus and use the appropriate command to
28       install. This makes it easy to install "cpanm" to your system without
29       thinking about where to install, and later upgrade.
30
31   Installing to system perl
32       You can also use the latest cpanminus to install cpanminus itself:
33
34           curl -L https://cpanmin.us | perl - --sudo App::cpanminus
35
36       This will install "cpanm" to your bin directory like "/usr/local/bin"
37       and you'll need the "--sudo" option to write to the directory, unless
38       you configured "INSTALL_BASE" with local::lib.
39
40   Installing to local perl (perlbrew, plenv etc.)
41       If you have perl in your home directory, which is the case if you use
42       tools like perlbrew or plenv, you don't need the "--sudo" option, since
43       you're most likely to have a write permission to the perl's library
44       path. You can just do:
45
46           curl -L https://cpanmin.us | perl - App::cpanminus
47
48       to install the "cpanm" executable to the perl's bin path, like
49       "~/perl5/perlbrew/bin/cpanm".
50
51   Downloading the standalone executable
52       You can also copy the standalone executable to whatever location you'd
53       like.
54
55           cd ~/bin
56           curl -L https://cpanmin.us/ -o cpanm
57           chmod +x cpanm
58
59       This just works, but be sure to grab the new version manually when you
60       upgrade because "--self-upgrade" might not work with this installation
61       setup.
62
63   Troubleshoot: HTTPS warnings
64       When you run "curl" commands above, you may encounter SSL handshake
65       errors or certification warnings. This is due to your HTTP client
66       (curl) being old, or SSL certificates installed on your system needs to
67       be updated.
68
69       You're recommended to update the software or system if you can. If that
70       is impossible or difficult, use the "-k" option with curl or an
71       alternative URL, "https://git.io/cpanm"
72

DEPENDENCIES

74       perl 5.8.1 or later.
75
76       •   'tar' executable (bsdtar or GNU tar version 1.22 are recommended)
77           or Archive::Tar to unpack files.
78
79       •   C compiler, if you want to build XS modules.
80
81       •   make
82
83       •   Module::Build (core in 5.10)
84

QUESTIONS

86   How does cpanm get/parse/update the CPAN index?
87       It queries the CPAN Meta DB site at <http://cpanmetadb.plackperl.org/>.
88       The site is updated at least every hour to reflect the latest changes
89       from fast syncing mirrors. The script then also falls back to query the
90       module at <http://metacpan.org/> using its search API.
91
92       Upon calling these API hosts, cpanm (1.6004 or later) will send the
93       local perl versions to the server in User-Agent string by default. You
94       can turn it off with "--no-report-perl-version" option. Read more about
95       the option with cpanm, and read more about the privacy policy about
96       this data collection at <http://cpanmetadb.plackperl.org/#privacy>
97
98       Fetched files are unpacked in "~/.cpanm" and automatically cleaned up
99       periodically.  You can configure the location of this with the
100       "PERL_CPANM_HOME" environment variable.
101
102   Where does this install modules to? Do I need root access?
103       It installs to wherever ExtUtils::MakeMaker and Module::Build are
104       configured to (via "PERL_MM_OPT" and "PERL_MB_OPT").
105
106       By default, it installs to the site_perl directory that belongs to your
107       perl. You can see the locations for that by running "perl -V" and it
108       will be likely something under "/opt/local/perl/..." if you're using
109       system perl, or under your home directory if you have built perl
110       yourself using perlbrew or plenv.
111
112       If you've already configured local::lib on your shell, cpanm respects
113       that settings and modules will be installed to your local perl5
114       directory.
115
116       At a boot time, cpanminus checks whether you have already configured
117       local::lib, or have a permission to install modules to the site_perl
118       directory.  If neither, i.e. you're using system perl and do not run
119       cpanm as a root, it automatically sets up local::lib compatible
120       installation path in a "perl5" directory under your home directory.
121
122       To avoid this, run "cpanm" either as a root user, with "--sudo" option,
123       or with "--local-lib" option.
124
125   cpanminus can't install the module XYZ. Is it a bug?
126       It is more likely a problem with the distribution itself. cpanminus
127       doesn't support or may have issues with distributions such as follows:
128
129       •   Tests that require input from STDIN.
130
131       •   Build.PL or Makefile.PL that prompts for input even when
132           "PERL_MM_USE_DEFAULT" is enabled.
133
134       •   Modules that have invalid numeric values as VERSION (such as
135           "1.1a")
136
137       These failures can be reported back to the author of the module so that
138       they can fix it accordingly, rather than to cpanminus.
139
140   Does cpanm support the feature XYZ of CPAN and CPANPLUS?
141       Most likely not. Here are the things that cpanm doesn't do by itself.
142
143       If you need these features, use CPAN, CPANPLUS or the standalone tools
144       that are mentioned.
145
146       •   CPAN testers reporting. See App::cpanminus::reporter
147
148       •   Building RPM packages from CPAN modules
149
150       •   Listing the outdated modules that needs upgrading. See
151           App::cpanoutdated
152
153       •   Showing the changes of the modules you're about to upgrade. See
154           cpan-listchanges
155
156       •   Patching CPAN modules with distroprefs.
157
158       See cpanm or "cpanm -h" to see what cpanminus can do :)
159
161       Copyright 2010- Tatsuhiko Miyagawa
162
163       The standalone executable contains the following modules embedded.
164
165       CPAN::DistnameInfo Copyright 2003 Graham Barr
166       local::lib Copyright 2007-2009 Matt S Trout
167       HTTP::Tiny Copyright 2011 Christian Hansen
168       Module::Metadata Copyright 2001-2006 Ken Williams. 2010 Matt S Trout
169       version Copyright 2004-2010 John Peacock
170       JSON::PP Copyright 2007-2011 by Makamaka Hannyaharamitu
171       CPAN::Meta, CPAN::Meta::Requirements Copyright (c) 2010 by David Golden
172       and Ricardo Signes
173       CPAN::Meta::YAML Copyright 2010 Adam Kennedy
174       CPAN::Meta::Check Copyright (c) 2012 by Leon Timmermans
175       File::pushd Copyright 2012 David Golden
176       parent Copyright (c) 2007-10 Max Maischein
177       Parse::PMFile Copyright 1995 - 2013 by Andreas Koenig, Copyright 2013
178       by Kenichi Ishigaki
179       String::ShellQuote by Roderick Schertler
180

LICENSE

182       This software is licensed under the same terms as Perl.
183

CREDITS

185   CONTRIBUTORS
186       Patches and code improvements were contributed by:
187
188       Goro Fuji, Kazuhiro Osawa, Tokuhiro Matsuno, Kenichi Ishigaki, Ian
189       Wells, Pedro Melo, Masayoshi Sekimura, Matt S Trout (mst), squeeky,
190       horus and Ingy dot Net.
191
192   ACKNOWLEDGEMENTS
193       Bug reports, suggestions and feedbacks were sent by, or general
194       acknowledgement goes to:
195
196       Jesse Vincent, David Golden, Andreas Koenig, Jos Boumans, Chris
197       Williams, Adam Kennedy, Audrey Tang, J. Shirley, Chris Prather, Jesse
198       Luehrs, Marcus Ramberg, Shawn M Moore, chocolateboy, Chirs Nehren,
199       Jonathan Rockway, Leon Brocard, Simon Elliott, Ricardo Signes, AEvar
200       Arnfjord Bjarmason, Eric Wilhelm, Florian Ragwitz and xaicron.
201

COMMUNITY

203       <http://github.com/miyagawa/cpanminus> - source code repository, issue
204       tracker
205       <irc://irc.perl.org/#cpanm> - discussions about cpanm and its related
206       tools
207

NO WARRANTY

209       This software is provided "as-is," without any express or implied
210       warranty. In no event shall the author be held liable for any damages
211       arising from the use of the software.
212

SEE ALSO

214       CPAN CPANPLUS pip
215
216
217
218perl v5.34.0                      2021-07-22                 App::cpanminus(3)
Impressum