Provided by: pinto_0.14000-2_all bug

NAME

       App::Pinto::Command::install - install stuff from the repository

VERSION

       version 0.14

SYNOPSIS

         pinto --root=REPOSITORY_ROOT install [OPTIONS] TARGET...

DESCRIPTION

       !! THIS COMMAND IS EXPERIMENTAL !!

       Installs targets from the repository into your environment.  This is just a thin wrapper around cpanm
       that is wired to fetch everything from the Pinto repository, rather than a public CPAN mirror.

       If the "--do-pull" option is given, then all targets and their prerequisites will be pulled onto the
       stack before attempting to install them.  If any thing cannot be pulled because it cannot be found or is
       blocked by a pin, then the installation will not proceed.

COMMAND ARGUMENTS

       Arguments are the things you want to install.  These can be package names, distribution paths, URIs,
       local files, or directories.  Look at the cpanm documentation to see all the different ways of specifying
       what to install.

       You can also pipe arguments to this command over STDIN.  In that case, blank lines and lines that look
       like comments (i.e. starting with "#" or ';') will be ignored.

COMMAND OPTIONS

       --cascade
           !! THIS OPTION IS EXPERIMENTAL !!

           When searching for a prerequisite package, always take the latest satisfactory version of the package
           found  amongst  all the upstream repositories, rather than just taking the first satisfactory version
           that is found.  Remember that Pinto only searches the upstream repositories when the local repository
           does not already contain a satisfactory version of the package. This option  only  matters  when  the
           "--do-pull" option is also used.

       --cpanm-exe PATH
       --cpanm PATH
           Sets  the  path  to  the  cpanm  executable.   If  not specified, the "PATH" will be searched for the
           executable.  At present, cpanm version 1.500 or newer is required.

       --cpanm-options NAME=VALUE
       -o NAME=VALUE
           These are options that you wish to pass to cpanm.  Do not prefix the option NAME with a '-'.  You can
           pass any option you like, but the "--mirror" and "--mirror-only" options will always be set to  point
           to the Pinto repository.

       --diff-style=STYLE
           Controls  the  style  of  the  diff  reports.  STYLE must be either "concise" or "detailed".  Concise
           reports show only one record for each distribution added  or  deleted.   Detailed  reports  show  one
           record  for  every  package added or deleted.  This option ony matters when the "--do-pull" option is
           also used.

           The  default  style  is  "concise".   However,  the  default  style  can  changed  by   setting   the
           "PINTO_DIFF_STYLE"  environment  variable to your preferred STYLE.  This variable affects the default
           style for diff reports generated by all other commands too.

       --do-pull
           Pull the targets and recursively pull all their  prerequisites  onto  the  stack  before  installing.
           Without  the  "--do-pull" option, all targets and their prerequisites must already be on the stack or
           the installation will probably fail.  When the "--do-pull" option is used,  the  stack  must  not  be
           locked.

       --local-lib=DIRECTORY
       -l DIRECTORY
           Shortcut   for   setting   the   "--local-lib"   option   on   cpanm.    Same   as   "--cpanm-options
           local-lib=DIRECTORY" or "-o l=DIRECTORY".

       --local-lib-contained=DIRECTORY
       -L DIRECTORY
           Shortcut  for  setting  the  "--local-lib-contained"  option  on  cpanm.   Same  as  "--cpanm-options
           local-lib-containted=DIRECTORY" or "-o L=DIRECTORY".

       --message=TEXT
       -m TEXT
           Use  TEXT as the revision history log message.  This is only relevant if you also set the "--do-pull"
           option.  If you do not use "--message" option, then you will be prompted to  enter  the  message  via
           your  text  editor.   Use the "PINTO_EDITOR" or "EDITOR" or "VISUAL" environment variables to control
           which editor is used.  A log message is not required whenever the "--dry-run" option is  set,  or  if
           the action did not yield any changes to the repository.

       --stack=NAME
       -s NAME
           Use  the stack with the given NAME as the repository index.  When used with the "--pull" option, this
           also determines which stack prerequisites will be pulled onto. Defaults  to  the  name  of  whichever
           stack  is  currently  marked  as  the default stack.  Use the stacks command to see the stacks in the
           repository.

       --use-default-message
       -M  Use the default value for the revision history log message.  This is only relevant if  you  also  set
           the "--do-pull" option. Pinto will generate a semi- informative log message just based on the command
           and  its  arguments.   If  you set an explicit message with "--message", the "--use- default-message"
           option will be silently ignored.

USING cpan OR cpanm DIRECTLY

       On the surface, A Pinto repository looks like an ordinary CPAN repository, so you can use any  client  to
       install modules.  All you have to do is "point"  it at the URI of your Pinto repository.  Each client has
       a slightly different interface for setting the URI.

       For cpanm, use the "--mirror" and "--mirror-only" options like this:

         $> cpanm --mirror file:///path/to/repo --mirror-only Some::Package ...

       For cpan, set the "urllist" config option via the shell like this:

         $> cpan
         cpan[1]> o conf urllist file:///path/to/repo
         cpan[2]> reload index
         cpan[3]> install Some::Package
         cpan[4]> o conf commit     # If you want to make the change permanent

       Pointing  your  client  at  the  top  of your repository will install modules from the default stack.  To
       install from a particular stack, just append the stack name to the URI.  For example:

         file:///path/to/repo                # Install from default stack
         file:///path/to/repo/stacks/dev     # Install from "dev" stack
         file:///path/to/repo/stacks/prod    # Install from "prod" stack

       If your repository does not have a default stack then you must specify the full URI to one of the  stacks
       as shown above.

COMPATIBILITY

       The  "install"  command  does  not  support some of the newer features found in version 1.6 (or later) of
       cpanm, such as installing from a Git  repository,  installing  development  releases,  or  using  complex
       version  expressions. If you pass any of those as arguments to this command, the behavior is unspecified.

AUTHOR

       Jeffrey Ryan Thalhammer <jeff@stratopan.com>

COPYRIGHT AND LICENSE

       This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.

       This  is  free  software;  you  can  redistribute  it and/or modify it under the same terms as the Perl 5
       programming language system itself.

perl v5.36.0                                       2022-10-16                  App::Pinto::Command::install(3pm)