Carton::Doc::Install - Install the dependencies
carton install [--deployment] [--cached] [--path=PATH] [--without develop]
Install the dependencies for your application. This command has two modes and
the behavior is slightly different.
- carton install
- If you run "carton install" without any arguments
and if cpanfile exists, carton will scan dependencies from
cpanfile and install the modules.
If you run "carton install" for the first time (i.e.
does not exist), carton will fetch all the modules
specified, resolve dependencies and install all required modules from CPAN.
file does exist, carton will still try to install
modules specified or updated in cpanfile
, but uses
for the dependency resolution, and then cascades to
carton will analyze all the dependencies and their version information, and it
is saved into cpanfile.snapshot
file. It is important to add
file into a version controlled repository and commit
the changes as you update your dependencies.
If you specify the "--deployment" command line option or the
exists, carton will only use the dependencies
specified in the cpanfile.snapshot
instead of resolving dependencies.
- Force the deployment mode. See "DEPLOYMENT MODE"
- Locate distribution tarballs in "vendor/cache"
rather than fetching them from CPAN mirrors. This requires you to run
"carton bundle" prior to the deployment and commit or sync the
content of "vendor" directory to the other host you run
"carton install" on.
- Specify the alternate path for cpanfile. By default,
"carton install" will look for the file "cpanfile" in
the current directory, then upwards till the root directory, in case the
command runs from a sub directory.
Carton assumes the directory where your cpanfile (or altenate path) exists
as a project root directory, and will look for the snapshot file as well
as install directory ("local") and "vendor/cache"
relative to it.
- Specify the path to install modules to. Defaults to
local in the directory relative to where "cpanfile" is.
NOTE: this option, as of version 1.0, is not preserved across
multiple runs of "carton install" or other commands such as
"carton list" or "carton exec". You can choose to set
the path in "PERL_CARTON_PATH" environment variable to persist
it across commands.
- By default, "carton install" will install all the
phases for dependencies, including "develop". You can specify
phases or features to exclude, in the comma separated list.
carton install --deployment --without develop
NOTE: "--without" for the initial installation (without
cpanfile.snapshot) is not supported at this moment.