Spaces:
Sleeping
Sleeping
#!/home/simon/prog/text-generation-webui/installer_files/env/bin/perl | |
eval 'exec /home/simon/prog/text-generation-webui/installer_files/env/bin/perl -S $0 ${1+"$@"}' | |
if 0; # ^ Run only under a shell | |
#!/usr/local/bin/perl | |
BEGIN { pop @INC if $INC[-1] eq '.' } | |
use strict; | |
use vars qw($VERSION); | |
use App::Cpan; | |
use CPAN::Version; | |
my $minver = '1.64'; | |
if ( CPAN::Version->vlt($App::Cpan::VERSION, $minver) ) { | |
warn "WARNING: your version of App::Cpan is $App::Cpan::VERSION while we would expect at least $minver"; | |
} | |
$VERSION = '1.64'; | |
my $rc = App::Cpan->run( @ARGV ); | |
# will this work under Strawberry Perl? | |
exit( $rc || 0 ); | |
=head1 NAME | |
cpan - easily interact with CPAN from the command line | |
=head1 SYNOPSIS | |
# with arguments and no switches, installs specified modules | |
cpan module_name [ module_name ... ] | |
# with switches, installs modules with extra behavior | |
cpan [-cfFimtTw] module_name [ module_name ... ] | |
# use local::lib | |
cpan -I module_name [ module_name ... ] | |
# one time mirror override for faster mirrors | |
cpan -p ... | |
# with just the dot, install from the distribution in the | |
# current directory | |
cpan . | |
# without arguments, starts CPAN.pm shell | |
cpan | |
# without arguments, but some switches | |
cpan [-ahpruvACDLOPX] | |
=head1 DESCRIPTION | |
This script provides a command interface (not a shell) to CPAN. At the | |
moment it uses CPAN.pm to do the work, but it is not a one-shot command | |
runner for CPAN.pm. | |
=head2 Options | |
=over 4 | |
=item -a | |
Creates a CPAN.pm autobundle with CPAN::Shell->autobundle. | |
=item -A module [ module ... ] | |
Shows the primary maintainers for the specified modules. | |
=item -c module | |
Runs a `make clean` in the specified module's directories. | |
=item -C module [ module ... ] | |
Show the F<Changes> files for the specified modules | |
=item -D module [ module ... ] | |
Show the module details. This prints one line for each out-of-date module | |
(meaning, modules locally installed but have newer versions on CPAN). | |
Each line has three columns: module name, local version, and CPAN | |
version. | |
=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: | |
% cpan -f -i Module::Foo | |
=item -F | |
Turn off CPAN.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 C<-j>, and that config sets up its own work directories. | |
=item -g module [ module ... ] | |
Downloads to the current directory the latest distribution of the module. | |
=item -G module [ module ... ] | |
UNIMPLEMENTED | |
Download to the current directory the latest distribution of the | |
modules, unpack each distribution, and create a git repository for each | |
distribution. | |
If you want this feature, check out Yanick Champoux's C<Git::CPAN::Patch> | |
distribution. | |
=item -h | |
Print a help message and exit. When you specify C<-h>, it ignores all | |
of the other options and arguments. | |
=item -i module [ module ... ] | |
Install the specified modules. With no other switches, this switch | |
is implied. | |
=item -I | |
Load C<local::lib> (think like C<-I> for loading lib paths). Too bad | |
C<-l> was already taken. | |
=item -j Config.pm | |
Load the file that has the CPAN configuration data. This should have the | |
same format as the standard F<CPAN/Config.pm> file, which defines | |
C<$CPAN::Config> as an anonymous hash. | |
=item -J | |
Dump the configuration in the same format that CPAN.pm uses. This is useful | |
for checking the configuration as well as using the dump as a starting point | |
for a new, custom configuration. | |
=item -l | |
List all installed modules with their versions | |
=item -L author [ author ... ] | |
List the modules by the specified authors. | |
=item -m | |
Make the specified modules. | |
=item -M mirror1,mirror2,... | |
A comma-separated list of mirrors to use for just this run. The C<-P> | |
option can find them for you automatically. | |
=item -n | |
Do a dry run, but don't actually install anything. (unimplemented) | |
=item -O | |
Show the out-of-date modules. | |
=item -p | |
Ping the configured mirrors and print a report | |
=item -P | |
Find the best mirrors you could be using and use them for the current | |
session. | |
=item -r | |
Recompiles dynamically loaded modules with CPAN::Shell->recompile. | |
=item -s | |
Drop in the CPAN.pm shell. This command does this automatically if you don't | |
specify any arguments. | |
=item -t module [ module ... ] | |
Run a `make test` on the specified modules. | |
=item -T | |
Do not test modules. Simply install them. | |
=item -u | |
Upgrade all installed modules. Blindly doing this can really break things, | |
so keep a backup. | |
=item -v | |
Print the script version and CPAN.pm version then exit. | |
=item -V | |
Print detailed information about the cpan client. | |
=item -w | |
UNIMPLEMENTED | |
Turn on cpan warnings. This checks various things, like directory permissions, | |
and tells you about problems you might have. | |
=item -x module [ module ... ] | |
Find close matches to the named modules that you think you might have | |
mistyped. This requires the optional installation of Text::Levenshtein or | |
Text::Levenshtein::Damerau. | |
=item -X | |
Dump all the namespaces to standard output. | |
=back | |
=head2 Examples | |
# 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 | |
# install modules but without testing them | |
cpan -Ti CGI::Minimal URI | |
=head2 Environment variables | |
There are several components in CPAN.pm that use environment variables. | |
The build tools, L<ExtUtils::MakeMaker> and L<Module::Build> use some, | |
while others matter to the levels above them. Some of these are specified | |
by the Perl Toolchain Gang: | |
Lancaster Concensus: L<https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md> | |
Oslo Concensus: L<https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/oslo-consensus.md> | |
=over 4 | |
=item NONINTERACTIVE_TESTING | |
Assume no one is paying attention and skips prompts for distributions | |
that do that correctly. C<cpan(1)> sets this to C<1> unless it already | |
has a value (even if that value is false). | |
=item PERL_MM_USE_DEFAULT | |
Use the default answer for a prompted questions. C<cpan(1)> sets this | |
to C<1> unless it already has a value (even if that value is false). | |
=item CPAN_OPTS | |
As with C<PERL5OPT>, a string of additional C<cpan(1)> options to | |
add to those you specify on the command line. | |
=item CPANSCRIPT_LOGLEVEL | |
The log level to use, with either the embedded, minimal logger or | |
L<Log::Log4perl> if it is installed. Possible values are the same as | |
the C<Log::Log4perl> levels: C<TRACE>, C<DEBUG>, C<INFO>, C<WARN>, | |
C<ERROR>, and C<FATAL>. The default is C<INFO>. | |
=item GIT_COMMAND | |
The path to the C<git> binary to use for the Git features. The default | |
is C</usr/local/bin/git>. | |
=back | |
=head1 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: | |
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 | |
=head1 TO DO | |
* one shot configuration values from the command line | |
=head1 BUGS | |
* none noted | |
=head1 SEE ALSO | |
Most behaviour, including environment variables and configuration, | |
comes directly from CPAN.pm. | |
=head1 SOURCE AVAILABILITY | |
This code is in Github in the CPAN.pm repository: | |
https://github.com/andk/cpanpm | |
The source used to be tracked separately in another GitHub repo, | |
but the canonical source is now in the above repo. | |
=head1 CREDITS | |
Japheth Cleaver added the bits to allow a forced install (-f). | |
Jim Brandt suggest and provided the initial implementation for the | |
up-to-date and Changes features. | |
Adam Kennedy pointed out that exit() causes problems on Windows | |
where this script ends up with a .bat extension | |
=head1 AUTHOR | |
brian d foy, C<< <[email protected]> >> | |
=head1 COPYRIGHT | |
Copyright (c) 2001-2015, brian d foy, All Rights Reserved. | |
You may redistribute this under the same terms as Perl itself. | |
=cut | |
1; | |