1App::Pinto::Command::inUsstearllC(o3n)tributed Perl DocuAmpepn:t:aPtiinotno::Command::install(3)
2
3
4

NAME

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

VERSION

9       version 0.14
10

SYNOPSIS

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

DESCRIPTION

15       !! THIS COMMAND IS EXPERIMENTAL !!
16
17       Installs targets from the repository into your environment.  This is
18       just a thin wrapper around cpanm that is wired to fetch everything from
19       the Pinto repository, rather than a public CPAN mirror.
20
21       If the "--do-pull" option is given, then all targets and their
22       prerequisites will be pulled onto the stack before attempting to
23       install them.  If any thing cannot be pulled because it cannot be found
24       or is blocked by a pin, then the installation will not proceed.
25

COMMAND ARGUMENTS

27       Arguments are the things you want to install.  These can be package
28       names, distribution paths, URIs, local files, or directories.  Look at
29       the cpanm documentation to see all the different ways of specifying
30       what to install.
31
32       You can also pipe arguments to this command over STDIN.  In that case,
33       blank lines and lines that look like comments (i.e. starting with "#"
34       or ';') will be ignored.
35

COMMAND OPTIONS

37       --cascade
38           !! THIS OPTION IS EXPERIMENTAL !!
39
40           When searching for a prerequisite package, always take the latest
41           satisfactory version of the package found amongst all the upstream
42           repositories, rather than just taking the first satisfactory
43           version that is found.  Remember that Pinto only searches the
44           upstream repositories when the local repository does not already
45           contain a satisfactory version of the package. This option only
46           matters when the "--do-pull" option is also used.
47
48       --cpanm-exe PATH
49       --cpanm PATH
50           Sets the path to the cpanm executable.  If not specified, the
51           "PATH" will be searched for the executable.  At present, cpanm
52           version 1.500 or newer is required.
53
54       --cpanm-options NAME=VALUE
55       -o NAME=VALUE
56           These are options that you wish to pass to cpanm.  Do not prefix
57           the option NAME with a '-'.  You can pass any option you like, but
58           the "--mirror" and "--mirror-only" options will always be set to
59           point to the Pinto repository.
60
61       --diff-style=STYLE
62           Controls the style of the diff reports.  STYLE must be either
63           "concise" or "detailed".  Concise reports show only one record for
64           each distribution added or deleted.  Detailed reports show one
65           record for every package added or deleted.  This option ony matters
66           when the "--do-pull" option is also used.
67
68           The default style is "concise".  However, the default style can
69           changed by setting the "PINTO_DIFF_STYLE" environment variable to
70           your preferred STYLE.  This variable affects the default style for
71           diff reports generated by all other commands too.
72
73       --do-pull
74           Pull the targets and recursively pull all their prerequisites onto
75           the stack before installing.  Without the "--do-pull" option, all
76           targets and their prerequisites must already be on the stack or the
77           installation will probably fail.  When the "--do-pull" option is
78           used, the stack must not be locked.
79
80       --local-lib=DIRECTORY
81       -l DIRECTORY
82           Shortcut for setting the "--local-lib" option on cpanm.  Same as
83           "--cpanm-options local-lib=DIRECTORY" or "-o l=DIRECTORY".
84
85       --local-lib-contained=DIRECTORY
86       -L DIRECTORY
87           Shortcut for setting the "--local-lib-contained" option on cpanm.
88           Same as "--cpanm-options local-lib-containted=DIRECTORY" or "-o
89           L=DIRECTORY".
90
91       --message=TEXT
92       -m TEXT
93           Use TEXT as the revision history log message.  This is only
94           relevant if you also set the "--do-pull" option.  If you do not use
95           "--message" option, then you will be prompted to enter the message
96           via your text editor.  Use the "PINTO_EDITOR" or "EDITOR" or
97           "VISUAL" environment variables to control which editor is used.  A
98           log message is not required whenever the "--dry-run" option is set,
99           or if the action did not yield any changes to the repository.
100
101       --stack=NAME
102       -s NAME
103           Use the stack with the given NAME as the repository index.  When
104           used with the "--pull" option, this also determines which stack
105           prerequisites will be pulled onto. Defaults to the name of
106           whichever stack is currently marked as the default stack.  Use the
107           stacks command to see the stacks in the repository.
108
109       --use-default-message
110       -M  Use the default value for the revision history log message.  This
111           is only relevant if you also set the "--do-pull" option. Pinto will
112           generate a semi- informative log message just based on the command
113           and its arguments.  If you set an explicit message with
114           "--message", the "--use- default-message" option will be silently
115           ignored.
116

USING cpan OR cpanm DIRECTLY

118       On the surface, A Pinto repository looks like an ordinary CPAN
119       repository, so you can use any client to install modules.  All you have
120       to do is "point"  it at the URI of your Pinto repository.  Each client
121       has a slightly different interface for setting the URI.
122
123       For cpanm, use the "--mirror" and "--mirror-only" options like this:
124
125         $> cpanm --mirror file:///path/to/repo --mirror-only Some::Package ...
126
127       For cpan, set the "urllist" config option via the shell like this:
128
129         $> cpan
130         cpan[1]> o conf urllist file:///path/to/repo
131         cpan[2]> reload index
132         cpan[3]> install Some::Package
133         cpan[4]> o conf commit     # If you want to make the change permanent
134
135       Pointing your client at the top of your repository will install modules
136       from the default stack.  To install from a particular stack, just
137       append the stack name to the URI.  For example:
138
139         file:///path/to/repo                # Install from default stack
140         file:///path/to/repo/stacks/dev     # Install from "dev" stack
141         file:///path/to/repo/stacks/prod    # Install from "prod" stack
142
143       If your repository does not have a default stack then you must specify
144       the full URI to one of the stacks as shown above.
145

COMPATIBILITY

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

AUTHOR

154       Jeffrey Ryan Thalhammer <jeff@stratopan.com>
155
157       This software is copyright (c) 2015 by Jeffrey Ryan Thalhammer.
158
159       This is free software; you can redistribute it and/or modify it under
160       the same terms as the Perl 5 programming language system itself.
161
162
163
164perl v5.32.1                      2021-01-27   App::Pinto::Command::install(3)
Impressum