CPAN
view release on metacpan or search on metacpan
cpan> install Bundle::mybundle
and you're done.
4) When I install bundles or multiple modules with one command there is
too much output to keep track of.
You may want to configure something like
o conf make_arg "| tee -ai /root/.cpan/logs/make.out"
o conf make_install_arg "| tee -ai /root/.cpan/logs/make_install.out"
so that STDOUT is captured in a file for later inspection.
5) I am not root, how can I install a module in a personal directory?
As of CPAN 1.9463, if you do not have permission to write the
default perl library directories, CPAN's configuration process will
ask you whether you want to bootstrap <local::lib>, which makes
keeping a personal perl library directory easy.
Another thing you should bear in mind is that the UNINST parameter
can be dangerous when you are installing into a private area because
you might accidentally remove modules that other people depend on
that are not using the private area.
6) How to get a package, unwrap it, and make a change before building
it?
Have a look at the "look" (!) command.
7) I installed a Bundle and had a couple of fails. When I retried,
everything resolved nicely. Can this be fixed to work on first try?
The reason for this is that CPAN does not know the dependencies of
all modules when it starts out. To decide about the additional items
to install, it just uses data found in the META.yml file or the
generated Makefile. An undetected missing piece breaks the process.
But it may well be that your Bundle installs some prerequisite later
than some depending item and thus your second try is able to resolve
everything. Please note, CPAN.pm does not know the dependency tree
in advance and cannot sort the queue of things to install in a
topologically correct order. It resolves perfectly well if all
modules declare the prerequisites correctly with the PREREQ_PM
attribute to MakeMaker or the "requires" stanza of Module::Build.
For bundles which fail and you need to install often, it is
recommended to sort the Bundle definition file manually.
8) In our intranet, we have many modules for internal use. How can I
integrate these modules with CPAN.pm but without uploading the
modules to CPAN?
Have a look at the CPAN::Site module.
9) When I run CPAN's shell, I get an error message about things in my
"/etc/inputrc" (or "~/.inputrc") file.
These are readline issues and can only be fixed by studying readline
configuration on your architecture and adjusting the referenced file
accordingly. Please make a backup of the "/etc/inputrc" or
"~/.inputrc" and edit them. Quite often harmless changes like
uppercasing or lowercasing some arguments solves the problem.
10) Some authors have strange characters in their names.
Internally CPAN.pm uses the UTF-8 charset. If your terminal is
expecting ISO-8859-1 charset, a converter can be activated by
setting term_is_latin to a true value in your config file. One way
of doing so would be
cpan> o conf term_is_latin 1
If other charset support is needed, please file a bug report against
CPAN.pm at rt.cpan.org and describe your needs. Maybe we can extend
the support or maybe UTF-8 terminals become widely available.
Note: this config variable is deprecated and will be removed in a
future version of CPAN.pm. It will be replaced with the conventions
around the family of $LANG and $LC_* environment variables.
11) When an install fails for some reason and then I correct the error
condition and retry, CPAN.pm refuses to install the module, saying
"Already tried without success".
You could use the force pragma like so
force install Foo::Bar
Or, to avoid a force install (which would install even if the tests
fail), you can force only the test and then install:
force test Foo::Bar
install Foo::Bar
Or you can use
look Foo::Bar
and then "make install" directly in the subshell.
12) How do I install a "DEVELOPER RELEASE" of a module?
By default, CPAN will install the latest non-developer release of a
module. If you want to install a dev release, you have to specify
the partial path starting with the author id to the tarball you wish
to install, like so:
cpan> install KWILLIAMS/Module-Build-0.27_07.tar.gz
Note that you can use the "ls" command to get this path listed.
13) How do I install a module and all its dependencies from the
commandline, without being prompted for anything, despite my CPAN
configuration (or lack thereof)?
CPAN uses ExtUtils::MakeMaker's prompt() function to ask its
questions, so if you set the PERL_MM_USE_DEFAULT environment
variable, you shouldn't be asked any questions at all (assuming the
modules you are installing are nice about obeying that variable as
well):
( run in 1.236 second using v1.01-cache-2.11-cpan-39bf76dae61 )