App-cpanminus

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

   [Improvements]
      - Remove MakeMaker and Module::Build from cpanm's runtime dependencies. Rather it will upgrade
        the minimum version requirement as it finds distributions that uses them in configure
        requirements. Also, they will be installed with 'notest' option for now, since Module::Build
        test suite takes a bit too long time.

1.7032  2015-04-29 18:51:36 PDT
   [Improvements]
      - Prefer to use cpanmetadb's package history API for pinning versions. Note that it only
        works against versions since April 2012. You can set `--metacpan` to still prefer MetaCPAN
        API search, and can use `--cascade-search` to fallback to MetaCPAN after CPAN MetaDB as well.

1.7031  2015-04-22 14:13:37 PDT
   [Bug Fixes]
      - Fixed a rare case where circular dependencies in cpanfile prevents satisfying modules from
        being installed. (#452)

   [Improvements]
      - Stop reporting perl versions by default if running under certain CI related env vars.

1.7030  2015-04-19 14:15:34 CEST

Changes  view on Meta::CPAN

      - Better cpanfile end-to-end support
      - Upgraded fatpacked modules to the latest

1.5021 Thu Jan 31 00:42:28 PST 2013
   [Improvements]
      - Added new --verify option that enables verifying CHECKSUM and SIGNATURE for distributions
        from CPAN/PAUSE

1.5020 Tue Jan 29 10:29:08 PST 2013
   [Bug Fixes]
      - Fixed a bug in --cascade-search that was checking a wrong version from 02packages file (Bryce Baril)
      - Added a workaround for older version of File::Temp bug (kentnl)

1.5019 Sun Dec 23 02:19:45 JST 2012
   [Bug Fixes]
      - Fixes a bug where --installdeps fail to configure dependencies with cpanfile (hoelzro)

   [Improvements]
      - Cleaned up unused code
      - Added documentation about --mirror option and local file path

Changes  view on Meta::CPAN

      - Fixed some merge mess with devel

1.5014 Tue Jun 12 18:27:02 PDT 2012
   [Improvements]
      - Make sure 'f' flag becomes the last for some tar versions (mst, aaronsw)
      - Fixed warnings on perl 5.17+ (rjbs)
      - Fix local::lib error message (berekuk)

1.5013 Sat May 12 06:15:44 EEST 2012
   [Bug Fixes]
      - Fixed --cascade-search to seach for missing modules, which was broken by #150

1.5012 Fri May 11 05:47:56 CEST 2012
   [Improvements]
      - Change the behavior of --mirror-index so that it won't fallback to CPAN mirrors #150 (thaljef)
      - Support v-strings in versions specified install [https://github.com/miyagawa/carton/issues/48]

1.5011 Thu Apr 12 18:57:06 JST 2012
   [Improvements]
      - Point default mirror to www.cpan.org #148

Changes  view on Meta::CPAN

1.5001 Fri Oct 14 00:18:33 JST 2011
   [New Features]
      - Added EXPERIMENTAL --metacpan support (tokuhirom)

   [Improvements]
      - Do not scan Makefile if MYMETA.yml is found
      - Support MYMETA.json with spec 2.0

1.5000 Thu Oct 13 15:31:13 JST 2011
   [New Features]
      - Added EXPERIMENTAL --mirror-index, --skip-satisfied and --cascade-search options
      - Installs MYMETA.json and install.json into $ARCH/.meta library path

   [Bug Fixes]
      - Use Cwd::chdir to update CWD environment variable
      - Fix ExtUtils::ParseXS issue with -L
      - Fix CoreList bootstrap issue with perl < 5.8.9 when using -L
      - Dump more descriptive error message when configure failed with --installdeps #111

   [Improvements]
      - Upgraded many fatlib embedded modules

bin/cpanm  view on Meta::CPAN


$fatpacked{"App/cpanminus.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS';
  package App::cpanminus;our$VERSION="1.7048";1;
APP_CPANMINUS

$fatpacked{"App/cpanminus/Dependency.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS_DEPENDENCY';
  package App::cpanminus::Dependency;use strict;use CPAN::Meta::Requirements;sub from_prereqs {my($class,$prereqs,$phases,$types)=@_;my@deps;for my$type (@$types){push@deps,$class->from_versions($prereqs->merged_requirements($phases,[$type])->as_stri...
APP_CPANMINUS_DEPENDENCY

$fatpacked{"App/cpanminus/script.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'APP_CPANMINUS_SCRIPT';
  package App::cpanminus::script;use strict;use Config;use Cwd ();use App::cpanminus;use App::cpanminus::Dependency;use File::Basename ();use File::Find ();use File::Path ();use File::Spec ();use File::Copy ();use File::Temp ();use Getopt::Long ();us...
  It appears your cpanm executable was installed via `perlbrew install-cpanm`.
  cpanm --self-upgrade won't upgrade the version of cpanm you're running.
  
  Run the following command to get it upgraded.
  
    perlbrew install-cpanm
  
  DIE
  You are running cpanm from the path where your current perl won't install executables to.
  Because of that, cpanm --self-upgrade won't upgrade the version of cpanm you're running.

bin/cpanm  view on Meta::CPAN

If you enable local::lib, it only removes files from the local::lib
directory.

If you try to uninstall a module in C<perl> directory (i.e. core
module), an error will be thrown.

A dialog will be prompted to confirm the files to be deleted. If you pass
C<-f> option as well, the dialog will be skipped and uninstallation
will be forced.

=item --cascade-search

B<EXPERIMENTAL>: Specifies whether to cascade search when you specify
multiple mirrors and a mirror doesn't have a module or has a lower
version of the module than requested. Defaults to false.

=item --skip-installed

Specifies whether a module given in the command line is skipped if its latest
version is already installed. Defaults to true.

B<NOTE>: The C<PERL5LIB> environment variable have to be correctly set
for this to work with modules installed using L<local::lib>, unless

lib/App/cpanminus/fatscript.pm  view on Meta::CPAN

          'self-contained!' => \$self->{self_contained},
          'exclude-vendor!' => \$self->{exclude_vendor},
          'mirror=s@' => $self->{mirrors},
          'mirror-only!' => \$self->{mirror_only},
          'mirror-index=s' => sub { $self->{mirror_index} = $self->maybe_abs($_[1]) },
          'M|from=s' => sub {
              $self->{mirrors}     = [$_[1]];
              $self->{mirror_only} = 1;
          },
          'cpanmetadb=s'    => \$self->{cpanmetadb},
          'cascade-search!' => \$self->{cascade_search},
          'prompt!'   => \$self->{prompt},
          'installdeps' => \$self->{installdeps},
          'skip-installed!' => \$self->{skip_installed},
          'skip-satisfied!' => \$self->{skip_satisfied},
          'reinstall'    => sub { $self->{skip_installed} = 0 },
          'interactive!' => \$self->{interactive},
          'i|install'    => sub { $self->{cmd} = 'install' },
          'info'         => sub { $self->{cmd} = 'info' },
          'look'         => sub { $self->{cmd} = 'look'; $self->{skip_installed} = 0 },
          'U|uninstall'  => sub { $self->{cmd} = 'uninstall' },

lib/App/cpanminus/fatscript.pm  view on Meta::CPAN

  
      open my $fh, '<', $file or return;
      my $found;
      while (<$fh>) {
          if (m!^\Q$module\E\s+([\w\.]+)\s+(\S*)!m) {
              $found = $self->cpan_module($module, $2, $1);
              last;
          }
      }
  
      return $found unless $self->{cascade_search};
  
      if ($found) {
          if ($self->satisfy_version($module, $found->{module_version}, $version)) {
              return $found;
          } else {
              $self->chat("Found $module $found->{module_version} which doesn't satisfy $version.\n");
          }
      }
  
      return;

lib/App/cpanminus/fatscript.pm  view on Meta::CPAN

  
  
  sub search_module {
      my($self, $module, $version) = @_;
  
      if ($self->{mirror_index}) {
          $self->mask_output( chat => "Searching $module on mirror index $self->{mirror_index} ...\n" );
          my $pkg = $self->search_mirror_index_file($self->{mirror_index}, $module, $version);
          return $pkg if $pkg;
  
          unless ($self->{cascade_search}) {
             $self->mask_output( diag_fail => "Finding $module ($version) on mirror index $self->{mirror_index} failed." );
             return;
          }
      }
  
      unless ($self->{mirror_only}) {
          my $found = $self->search_database($module, $version);
          return $found if $found;
      }
  

lib/App/cpanminus/fatscript.pm  view on Meta::CPAN

  This module was extracted from L<local::lib|local::lib>'s --self-contained
  feature, and contains the only part that ever worked. I apologise to anybody
  who thought anything else did.
  
  =head1 CAVEATS
  
  This does B<not> propagate properly across perl invocations like local::lib's
  stuff does. It can't. It's only a module import, so it B<only affects the
  specific perl VM instance in which you load and import() it>.
  
  If you want to cascade it across invocations, you can set the PERL5OPT
  environment variable to '-Mlib::core::only' and it'll sort of work. But be
  aware that taint mode ignores this, so some modules' build and test code
  probably will as well.
  
  You also need to be aware that perl's command line options are not processed
  in order - -I options take effect before -M options, so
  
    perl -Mlib::core::only -Ilib
  
  is unlike to do what you want - it's exactly equivalent to:

lib/App/cpanminus/fatscript.pm  view on Meta::CPAN

If you enable local::lib, it only removes files from the local::lib
directory.

If you try to uninstall a module in C<perl> directory (i.e. core
module), an error will be thrown.

A dialog will be prompted to confirm the files to be deleted. If you pass
C<-f> option as well, the dialog will be skipped and uninstallation
will be forced.

=item --cascade-search

B<EXPERIMENTAL>: Specifies whether to cascade search when you specify
multiple mirrors and a mirror doesn't have a module or has a lower
version of the module than requested. Defaults to false.

=item --skip-installed

Specifies whether a module given in the command line is skipped if its latest
version is already installed. Defaults to true.

B<NOTE>: The C<PERL5LIB> environment variable have to be correctly set
for this to work with modules installed using L<local::lib>, unless



( run in 0.485 second using v1.01-cache-2.11-cpan-49f99fa48dc )