1App::Pinto::Command::inUsstearllC(o3n)tributed Perl DocuAmpepn:t:aPtiinotno::Command::install(3)
2
3
4
6 App::Pinto::Command::install - install stuff from the repository
7
9 version 0.14
10
12 pinto --root=REPOSITORY_ROOT install [OPTIONS] TARGET...
13
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
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
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
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
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
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.36.0 2022-07-22 App::Pinto::Command::install(3)