Current File : //home/strato/chroot/opt/RZperl518/man/man1/cpan.1 |
.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. \*(C+ will
.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
. if \nF \{
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "CPAN 1"
.TH CPAN 1 "2023-09-26" "perl v5.18.4" "Perl Programmers Reference Guide"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
cpan \- easily interact with CPAN from the command line
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 2
\& # with arguments and no switches, installs specified modules
\& cpan module_name [ module_name ... ]
\&
\& # with switches, installs modules with extra behavior
\& cpan [\-cfgimtTw] module_name [ module_name ... ]
\&
\& # with just the dot, install from the distribution in the
\& # current directory
\& cpan .
\&
\& # without arguments, starts CPAN.pm shell
\& cpan
\&
\& # dump the configuration
\& cpan \-J
\&
\& # load a different configuration to install Module::Foo
\& cpan \-j some/other/file Module::Foo
\&
\& # without arguments, but some switches
\& cpan [\-ahrvACDlLO]
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This script provides a command interface (not a shell) to \s-1CPAN.\s0 At the
moment it uses \s-1CPAN\s0.pm to do the work, but it is not a one-shot command
runner for \s-1CPAN\s0.pm.
.SS "Options"
.IX Subsection "Options"
.IP "\-a" 4
.IX Item "-a"
Creates a \s-1CPAN\s0.pm autobundle with CPAN::Shell\->autobundle.
.IP "\-A module [ module ... ]" 4
.IX Item "-A module [ module ... ]"
Shows the primary maintainers for the specified modules.
.IP "\-c module" 4
.IX Item "-c module"
Runs a `make clean` in the specified module's directories.
.IP "\-C module [ module ... ]" 4
.IX Item "-C module [ module ... ]"
Show the \fIChanges\fR files for the specified modules
.IP "\-D module [ module ... ]" 4
.IX Item "-D module [ module ... ]"
Show the module details.
.IP "\-f" 4
.IX Item "-f"
Force the specified action, when it normally would have failed. Use this
to install a module even if its tests fail. When you use this option,
\&\-i is not optional for installing a module when you need to force it:
.Sp
.Vb 1
\& % cpan \-f \-i Module::Foo
.Ve
.IP "\-F" 4
.IX Item "-F"
Turn off \s-1CPAN\s0.pm's attempts to lock anything. You should be careful with
this since you might end up with multiple scripts trying to muck in the
same directory. This isn't so much of a concern if you're loading a special
config with \f(CW\*(C`\-j\*(C'\fR, and that config sets up its own work directories.
.IP "\-g module [ module ... ]" 4
.IX Item "-g module [ module ... ]"
Downloads to the current directory the latest distribution of the module.
.IP "\-G module [ module ... ]" 4
.IX Item "-G module [ module ... ]"
\&\s-1UNIMPLEMENTED\s0
.Sp
Download to the current directory the latest distribution of the
modules, unpack each distribution, and create a git repository for each
distribution.
.Sp
If you want this feature, check out Yanick Champoux's \f(CW\*(C`Git::CPAN::Patch\*(C'\fR
distribution.
.IP "\-h" 4
.IX Item "-h"
Print a help message and exit. When you specify \f(CW\*(C`\-h\*(C'\fR, it ignores all
of the other options and arguments.
.IP "\-i" 4
.IX Item "-i"
Install the specified modules.
.IP "\-I" 4
.IX Item "-I"
Load \f(CW\*(C`local::lib\*(C'\fR (think like \f(CW\*(C`\-I\*(C'\fR for loading lib paths).
.IP "\-j Config.pm" 4
.IX Item "-j Config.pm"
Load the file that has the \s-1CPAN\s0 configuration data. This should have the
same format as the standard \fICPAN/Config.pm\fR file, which defines
\&\f(CW$CPAN::Config\fR as an anonymous hash.
.IP "\-J" 4
.IX Item "-J"
Dump the configuration in the same format that \s-1CPAN\s0.pm uses. This is useful
for checking the configuration as well as using the dump as a starting point
for a new, custom configuration.
.IP "\-l" 4
.IX Item "-l"
List all installed modules wth their versions
.IP "\-L author [ author ... ]" 4
.IX Item "-L author [ author ... ]"
List the modules by the specified authors.
.IP "\-m" 4
.IX Item "-m"
Make the specified modules.
.IP "\-O" 4
.IX Item "-O"
Show the out-of-date modules.
.IP "\-p" 4
.IX Item "-p"
Ping the configured mirrors
.IP "\-P" 4
.IX Item "-P"
Find the best mirrors you could be using (but doesn't configure them just yet)
.IP "\-r" 4
.IX Item "-r"
Recompiles dynamically loaded modules with CPAN::Shell\->recompile.
.IP "\-t" 4
.IX Item "-t"
Run a `make test` on the specified modules.
.IP "\-T" 4
.IX Item "-T"
Do not test modules. Simply install them.
.IP "\-u" 4
.IX Item "-u"
Upgrade all installed modules. Blindly doing this can really break things,
so keep a backup.
.IP "\-v" 4
.IX Item "-v"
Print the script version and \s-1CPAN\s0.pm version then exit.
.IP "\-V" 4
.IX Item "-V"
Print detailed information about the cpan client.
.IP "\-w" 4
.IX Item "-w"
\&\s-1UNIMPLEMENTED\s0
.Sp
Turn on cpan warnings. This checks various things, like directory permissions,
and tells you about problems you might have.
.SS "Examples"
.IX Subsection "Examples"
.Vb 2
\& # print a help message
\& cpan \-h
\&
\& # print the version numbers
\& cpan \-v
\&
\& # create an autobundle
\& cpan \-a
\&
\& # recompile modules
\& cpan \-r
\&
\& # upgrade all installed modules
\& cpan \-u
\&
\& # install modules ( sole \-i is optional )
\& cpan \-i Netscape::Booksmarks Business::ISBN
\&
\& # force install modules ( must use \-i )
\& cpan \-fi CGI::Minimal URI
.Ve
.SH "ENVIRONMENT VARIABLES"
.IX Header "ENVIRONMENT VARIABLES"
.IP "\s-1CPAN_OPTS\s0" 4
.IX Item "CPAN_OPTS"
\&\f(CW\*(C`cpan\*(C'\fR splits this variable on whitespace and prepends that list to \f(CW@ARGV\fR
before it processes the command-line arguments. For instance, if you always
want to use \f(CW\*(C`local:lib\*(C'\fR, you can set \f(CW\*(C`CPAN_OPTS\*(C'\fR to \f(CW\*(C`\-I\*(C'\fR.
.SH "EXIT VALUES"
.IX Header "EXIT VALUES"
The script exits with zero if it thinks that everything worked, or a
positive number if it thinks that something failed. Note, however, that
in some cases it has to divine a failure by the output of things it does
not control. For now, the exit codes are vague:
.PP
.Vb 1
\& 1 An unknown error
\&
\& 2 The was an external problem
\&
\& 4 There was an internal problem with the script
\&
\& 8 A module failed to install
.Ve
.SH "TO DO"
.IX Header "TO DO"
* one shot configuration values from the command line
.SH "BUGS"
.IX Header "BUGS"
* none noted
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Most behaviour, including environment variables and configuration,
comes directly from \s-1CPAN\s0.pm.
.SH "SOURCE AVAILABILITY"
.IX Header "SOURCE AVAILABILITY"
This code is in Github:
.PP
.Vb 1
\& git://github.com/briandfoy/cpan_script.git
.Ve
.SH "CREDITS"
.IX Header "CREDITS"
Japheth Cleaver added the bits to allow a forced install (\-f).
.PP
Jim Brandt suggest and provided the initial implementation for the
up-to-date and Changes features.
.PP
Adam Kennedy pointed out that \fIexit()\fR causes problems on Windows
where this script ends up with a .bat extension
.SH "AUTHOR"
.IX Header "AUTHOR"
brian d foy, \f(CW\*(C`<bdfoy@cpan.org>\*(C'\fR
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright (c) 2001\-2013, brian d foy, All Rights Reserved.
.PP
You may redistribute this under the same terms as Perl itself.