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.