cargo-locate-project(1)
NAME
cargo-locate-project — Print a JSON representation of a Cargo.toml file’s location
SYNOPSIS
cargo locate-project
[options]
DESCRIPTION
This command will print a JSON object to stdout with the full path to the manifest. The
manifest is found by searching upward for a file named Cargo.toml
starting from the current
working directory.
If the project happens to be a part of a workspace, the manifest of the project, rather than
the workspace root, is output. This can be overridden by the --workspace
flag. The root
workspace is found by traversing further upward or by using the field package.workspace
after
locating the manifest of a workspace member.
OPTIONS
--workspace
- Locate the
Cargo.toml
at the root of the workspace, as opposed to the current workspace member.
Display Options
--message-format
fmt- The representation in which to print the project location. Valid values:
json
(default): JSON object with the path under the key “root”.plain
: Just the path.
-v
--verbose
- Use verbose output. May be specified twice for “very verbose” output which
includes extra output such as dependency warnings and build script output.
May also be specified with the
term.verbose
config value. -q
--quiet
- Do not print cargo log messages.
May also be specified with the
term.quiet
config value. --color
when- Control when colored output is used. Valid values:
auto
(default): Automatically detect if color support is available on the terminal.always
: Always display colors.never
: Never display colors.
May also be specified with the
term.color
config value.
Manifest Options
--manifest-path
path- Path to the
Cargo.toml
file. By default, Cargo searches for theCargo.toml
file in the current directory or any parent directory.
Common Options
+
toolchain- If Cargo has been installed with rustup, and the first argument to
cargo
begins with+
, it will be interpreted as a rustup toolchain name (such as+stable
or+nightly
). See the rustup documentation for more information about how toolchain overrides work. --config
KEY=VALUE or PATH- Overrides a Cargo configuration value. The argument should be in TOML syntax of
KEY=VALUE
, or provided as a path to an extra configuration file. This flag may be specified multiple times. See the command-line overrides section for more information. -C
PATH- Changes the current working directory before executing any specified operations. This affects
things like where cargo looks by default for the project manifest (
Cargo.toml
), as well as the directories searched for discovering.cargo/config.toml
, for example. This option must appear before the command name, for examplecargo -C path/to/my-project build
.This option is only available on the nightly channel and requires the
-Z unstable-options
flag to enable (see #10098). -h
--help
- Prints help information.
-Z
flag- Unstable (nightly-only) flags to Cargo. Run
cargo -Z help
for details.
ENVIRONMENT
See the reference for details on environment variables that Cargo reads.
EXIT STATUS
0
: Cargo succeeded.101
: Cargo failed to complete.
EXAMPLES
-
Display the path to the manifest based on the current directory:
cargo locate-project