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 http://cpanmin.us | perl - --sudo App::cpanminus
35
36       This will install "cpanm" to your bin directory like "/usr/local/bin"
37       (unless you configured "INSTALL_BASE" with local::lib), so you probably
38       need the "--sudo" option.
39
40   Installing to local perl (perlbrew)
41       If you have perl in your home directory, which is the case if you use
42       tools like perlbrew, you don't need the "--sudo" option, since you're
43       most likely to have a write permission to the perl's library path. You
44       can just do:
45
46           curl -L http://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 -LO http://xrl.us/cpanm
57           chmod +x cpanm
58           # edit shebang if you don't have /usr/bin/env
59
60       This just works, but be sure to grab the new version manually when you
61       upgrade because "--self-upgrade" might not work for this.
62

DEPENDENCIES

64       perl 5.8 or later.
65
66       ·   'tar' executable (bsdtar or GNU tar version 1.22 are recommended)
67           or Archive::Tar to unpack files.
68
69       ·   C compiler, if you want to build XS modules.
70
71       ·   make
72
73       ·   Module::Build (core in 5.10)
74

QUESTIONS

76   Another CPAN installer?
77       OK, the first motivation was this: the CPAN shell runs out of memory
78       (or swaps heavily and gets really slow) on Slicehost/linode's most
79       affordable plan with only 256MB RAM. Should I pay more to install perl
80       modules from CPAN? I don't think so.
81
82   But why a new client?
83       First of all, let me be clear that CPAN and CPANPLUS are great tools
84       I've used for literally years (you know how many modules I have on
85       CPAN, right?). I really respect their efforts of maintaining the most
86       important tools in the CPAN toolchain ecosystem.
87
88       However, for less experienced users (mostly from outside the Perl
89       community), or even really experienced Perl developers who know how to
90       shoot themselves in their feet, setting up the CPAN toolchain often
91       feels like yak shaving, especially when all they want to do is just
92       install some modules and start writing code.
93
94   Zero-conf? How does this module get/parse/update the CPAN index?
95       It queries the CPAN Meta DB site at <http://cpanmetadb.plackperl.org/>.
96       The site is updated at least every hour to reflect the latest changes
97       from fast syncing mirrors. The script then also falls back to query the
98       module at <http://metacpan.org/> using its wonderful API.
99
100       Upon calling these API hosts, cpanm (1.6004 or later) will send the
101       local perl versions to the server in User-Agent string by default. You
102       can turn it off with "--no-report-perl-version" option. Read more about
103       the option with cpanm, and read more about the privacy policy about
104       this data collection at <http://cpanmetadb.plackperl.org/#privacy>
105
106       Fetched files are unpacked in "~/.cpanm" and automatically cleaned up
107       periodically.  You can configure the location of this with the
108       "PERL_CPANM_HOME" environment variable.
109
110   Where does this install modules to? Do I need root access?
111       It installs to wherever ExtUtils::MakeMaker and Module::Build are
112       configured to (via "PERL_MM_OPT" and "PERL_MB_OPT"). So if you're using
113       local::lib, then it installs to your local perl5 directory. Otherwise
114       it installs to the site_perl directory that belongs to your perl.
115
116       cpanminus at a boot time checks whether you have configured local::lib,
117       or have the permission to install modules to the site_perl directory.
118       If neither, it automatically sets up local::lib compatible installation
119       path in a "perl5" directory under your home directory. To avoid this,
120       run the script as the root user, with "--sudo" option or with
121       "--local-lib" option.
122
123   cpanminus can't install the module XYZ. Is it a bug?
124       It is more likely a problem with the distribution itself. cpanminus
125       doesn't support or is known to have issues with distributions like as
126       follows:
127
128       ·   Tests that require input from STDIN.
129
130       ·   Tests that might fail when "AUTOMATED_TESTING" is enabled.
131
132       ·   Modules that have invalid numeric values as VERSION (such as
133           "1.1a")
134
135       These failures can be reported back to the author of the module so that
136       they can fix it accordingly, rather than me.
137
138   Does cpanm support the feature XYZ of CPAN and CPANPLUS?
139       Most likely not. Here are the things that cpanm doesn't do by itself.
140       And it's a feature - you got that from the name minus, right?
141
142       If you need these features, use CPAN, CPANPLUS or the standalone tools
143       that are mentioned.
144
145       ·   CPAN testers reporting
146
147       ·   Building RPM packages from CPAN modules
148
149       ·   Listing the outdated modules that needs upgrading. See
150           App::cpanoutdated
151
152       ·   Showing the changes of the modules you're about to upgrade. See
153           cpan-listchanges
154
155       ·   Patching CPAN modules with distroprefs.
156
157       See cpanm or "cpanm -h" to see what cpanminus can do :)
158
160       Copyright 2010- Tatsuhiko Miyagawa
161
162       The standalone executable contains the following modules embedded.
163
164       CPAN::DistnameInfo Copyright 2003 Graham Barr
165       Parse::CPAN::Meta Copyright 2006-2009 Adam Kennedy
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       File::pushd Copyright 2012 David Golden
175

LICENSE

177       This software is licensed under the same terms as Perl.
178

CREDITS

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

COMMUNITY

198       <http://github.com/miyagawa/cpanminus> - source code repository, issue
199       tracker
200       <irc://irc.perl.org/#toolchain> - discussions about Perl toolchain. I'm
201       there.
202

NO WARRANTY

204       This software is provided "as-is," without any express or implied
205       warranty. In no event shall the author be held liable for any damages
206       arising from the use of the software.
207

SEE ALSO

209       CPAN CPANPLUS pip
210
211
212
213perl v5.16.3                      2013-06-19                 App::cpanminus(3)
Impressum