App-cpanminus
view release on metacpan or search on metacpan
- Added ->env method
- Added PERL_CPANM_NO_LWP=1 so it can upgrade LWP without LWP
- Move documents to lib/App/cpanminus.pm
0.99_01 Tue Feb 23 12:31:56 PST 2010
[Improvements]
- Improved the duplicated or circular dependent package detections (gfx, Yappo)
- Improved the progressive message format
- Support .zip files (sekimura)
- Added --look command, like CPAN shell's look
- Added --recent command that shows you the recent updated modules
- Added --interactive option, good middleground when installing Task:: modules
- Added --self-upgrade (NOTE: it will downgrade to the stable if you run from the dev release!)
- Fixed the installation doc to prefer git over CPAN shell
- Documented that you need GNU tar >= 1.22
- Wraps configure and test with alarm timeout to not choke on bad dists (hirose31, yappo, tokuhirom)
[Bug fixes]
- Fixed a bug where log appending fails on Win32 (xaicron)
- Various fixes on win32 (charsbar)
- Fixed a bug failing on dists with dual Build.PL/Makefile.PL (mst, aperion)
This just works, but be sure to grab the new version manually when you
upgrade because --self-upgrade might not work with this installation
setup.
Troubleshoot: HTTPS warnings
When you run curl commands above, you may encounter SSL handshake
errors or certification warnings. This is due to your HTTP client
(curl) being old, or SSL certificates installed on your system needs to
be updated.
You're recommended to update the software or system if you can. If that
is impossible or difficult, use the -k option with curl.
DEPENDENCIES
perl 5.8.1 or later.
* 'tar' executable (bsdtar or GNU tar version 1.22 are recommended)
or Archive::Tar to unpack files.
* make
* Module::Build (core in 5.10)
QUESTIONS
How does cpanm get/parse/update the CPAN index?
It queries the CPAN Meta DB site at http://cpanmetadb.plackperl.org/.
The site is updated at least every hour to reflect the latest changes
from fast syncing mirrors. The script then also falls back to query the
module at http://metacpan.org/ using its search API.
Upon calling these API hosts, cpanm (1.6004 or later) will send the
local perl versions to the server in User-Agent string by default. You
can turn it off with --no-report-perl-version option. Read more about
the option with cpanm, and read more about the privacy policy about
this data collection at http://cpanmetadb.plackperl.org/#privacy
Fetched files are unpacked in ~/.cpanm and automatically cleaned up
lib/App/cpanminus.pm view on Meta::CPAN
chmod +x cpanm
This just works, but be sure to grab the new version manually when you
upgrade because C<--self-upgrade> might not work with this installation setup.
=head2 Troubleshoot: HTTPS warnings
When you run C<curl> commands above, you may encounter SSL handshake
errors or certification warnings. This is due to your HTTP client
(curl) being old, or SSL certificates installed on your system needs
to be updated.
You're recommended to update the software or system if you can. If
that is impossible or difficult, use the C<-k> option with curl.
=head1 DEPENDENCIES
perl 5.8.1 or later.
=over 4
lib/App/cpanminus.pm view on Meta::CPAN
Module::Build (core in 5.10)
=back
=head1 QUESTIONS
=head2 How does cpanm get/parse/update the CPAN index?
It queries the CPAN Meta DB site at L<http://cpanmetadb.plackperl.org/>.
The site is updated at least every hour to reflect the latest changes
from fast syncing mirrors. The script then also falls back to query the
module at L<http://metacpan.org/> using its search API.
Upon calling these API hosts, cpanm (1.6004 or later) will send the
local perl versions to the server in User-Agent string by default. You
can turn it off with C<--no-report-perl-version> option. Read more
about the option with L<cpanm>, and read more about the privacy policy
about this data collection at L<http://cpanmetadb.plackperl.org/#privacy>
Fetched files are unpacked in C<~/.cpanm> and automatically cleaned up
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
chmod +x cpanm
This just works, but be sure to grab the new version manually when you
upgrade because C<--self-upgrade> might not work with this installation setup.
=head2 Troubleshoot: HTTPS warnings
When you run C<curl> commands above, you may encounter SSL handshake
errors or certification warnings. This is due to your HTTP client
(curl) being old, or SSL certificates installed on your system needs
to be updated.
You're recommended to update the software or system if you can. If
that is impossible or difficult, use the C<-k> option with curl.
=head1 DEPENDENCIES
perl 5.8.1 or later.
=over 4
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
Module::Build (core in 5.10)
=back
=head1 QUESTIONS
=head2 How does cpanm get/parse/update the CPAN index?
It queries the CPAN Meta DB site at L<http://cpanmetadb.plackperl.org/>.
The site is updated at least every hour to reflect the latest changes
from fast syncing mirrors. The script then also falls back to query the
module at L<http://metacpan.org/> using its search API.
Upon calling these API hosts, cpanm (1.6004 or later) will send the
local perl versions to the server in User-Agent string by default. You
can turn it off with C<--no-report-perl-version> option. Read more
about the option with L<cpanm>, and read more about the privacy policy
about this data collection at L<http://cpanmetadb.plackperl.org/#privacy>
Fetched files are unpacked in C<~/.cpanm> and automatically cleaned up
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
@imports = @$exports;
last;
}
# We need a way to emulate 'use Foo ()' but still
# allow an easy version check: "use Foo 1.23, ''";
if (@imports == 2 and !$imports[1]) {
@imports = ();
last;
}
} elsif ($sym !~ s/^&// || !$export_cache->{$sym}) {
# Last chance - see if they've updated EXPORT_OK since we
# cached it.
unless ($cache_is_current) {
%$export_cache = ();
_rebuild_cache ($pkg, $exports, $export_cache);
$cache_is_current = 1;
}
if (!$export_cache->{$sym}) {
# accumulate the non-exports
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
#pod domain names encoded. If the file already exists, the request will include an
#pod C<If-Modified-Since> header with the modification timestamp of the file. You
#pod may specify a different C<If-Modified-Since> header yourself in the C<<
#pod $options->{headers} >> hash.
#pod
#pod The C<success> field of the response will be true if the status code is 2XX
#pod or if the status code is 304 (unmodified).
#pod
#pod If the file was modified and the server response includes a properly
#pod formatted C<Last-Modified> header, the file modification time will
#pod be updated accordingly.
#pod
#pod =cut
sub mirror {
my ($self, $url, $file, $args) = @_;
@_ == 3 || (@_ == 4 && ref $args eq 'HASH')
or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/ . "\n");
if ( -e $file and my $mtime = (stat($file))[9] ) {
$args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
}
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
domain names encoded. If the file already exists, the request will include an
C<If-Modified-Since> header with the modification timestamp of the file. You
may specify a different C<If-Modified-Since> header yourself in the C<<
$options->{headers} >> hash.
The C<success> field of the response will be true if the status code is 2XX
or if the status code is 304 (unmodified).
If the file was modified and the server response includes a properly
formatted C<Last-Modified> header, the file modification time will
be updated accordingly.
=head2 request
$response = $http->request($method, $url);
$response = $http->request($method, $url, \%options);
Executes an HTTP request of the given method type ('GET', 'HEAD', 'POST',
'PUT', etc.) on the given URL. The URL must have unsafe characters escaped and
international domain names encoded.
lib/App/cpanminus/fatscript.pm view on Meta::CPAN
=back
=head1 TROUBLESHOOTING
If you've configured local::lib to install CPAN modules somewhere in to your
home directory, and at some point later you try to install a module with C<cpan
-i Foo::Bar>, but it fails with an error like: C<Warning: You do not have
permissions to install into /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux at
/usr/lib64/perl5/5.8.8/Foo/Bar.pm> and buried within the install log is an
error saying C<'INSTALL_BASE' is not a known MakeMaker parameter name>, then
you've somehow lost your updated ExtUtils::MakeMaker module.
To remedy this situation, rerun the bootstrapping procedure documented above.
Then, run C<rm -r ~/.cpan/build/Foo-Bar*>
Finally, re-run C<cpan -i Foo::Bar> and it should install without problems.
=head1 ENVIRONMENT
=over 4
( run in 0.301 second using v1.01-cache-2.11-cpan-05444aca049 )