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. cpanfile.snapshot does not exist), carton will
fetch all the modules specified, resolve dependencies and install all
required modules from CPAN.
If cpanfile.snapshot file does exist, carton will still try
to install modules specified or updated in cpanfile, but uses
cpanfile.snapshot for the dependency resolution, and then cascades to
CPAN.
carton will analyze all the dependencies and their version
information, and it is saved into cpanfile.snapshot file. It is
important to add cpanfile.snapshot 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 cpanfile.snapshot exists, carton will only use the
dependencies specified in the cpanfile.snapshot instead of resolving
dependencies.
- --deployment
- Force the deployment mode. See "DEPLOYMENT MODE" above.
- --cached
- 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.
- --cpanfile
- 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.
- --path
- 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.
- --without
- 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.