minicpan man page

minicpan — uses CPAN::Mini to create or update a local mirror


version 1.111016


minicpan [options]
  -l LOCAL    - where is the local minicpan?     (required)
  -r REMOTE   - where is the remote cpan mirror? (required)
  -d 0###     - permissions (numeric) to use when creating directories
  -f          - check all directories, even if indices are unchanged
  -p          - mirror perl, ponie, and parrot distributions
  --debug     - run in debug mode (print even banal messages)
  -q          - run in quiet mode (don't print status)
  -qq         - run in silent mode (don't even print warnings)
  -c CLASS    - what class to use to mirror (default: CPAN::Mini)
  -C FILE     - what config file to use (default: ~/.minicpanrc)
  -h          - print help and exit
  -v          - print version and exit
  -x          - build an exact mirror, getting even normally disallowed files
  -t SEC      - timeout in sec. Defaults to 180 sec
  --offline   - operate in offline mode (generally: do nothing)
  --log-level - provide a log level; instead of --debug, -q, or -qq
  --remote-from TYPE - cpan remote from 'cpan' or 'cpanplus' configs


This simple shell script just updates (or creates) a miniature CPAN mirror as described in CPAN::Mini.

Configuration File

By default, "minicpan" will read a configuration file to get configuration information. The file is a simple set of names and values, as in the following example:

local:  /home/rjbs/mirrors/minicpan/
remote: http://your.favorite.cpan/cpan/
exact_mirror: 1

"minicpan" tries to find a configuration file through the following process. It takes the first defined it finds:

Use the value specified by "-C" on the command line
Use the value in the "CPAN_MINI_CONFIG" environment variable
Use ~/.minicpanrc
Use CPAN/Mini/minicpan.conf

If the selected file does not exist, "minicpan" does not keep looking.

You can override this process with a "config_file" method in your subclass.

See "CPAN::Mini" for a full listing of available options.

To Do

Improve command-line options.

See Also

Randal Schwartz's original article, which can be found here:


Ricardo SIGNES <>
Randal Schwartz <>


2014-08-08 perl v5.24.0 User Contributed Perl Documentation