table of contents
- bookworm 0.66.0+ds1-1
- testing 0.66.0+ds1-1
- unstable 0.66.0+ds2-2
- experimental 0.70.1-1~exp1
CARGO-PACKAGE(1) | General Commands Manual | CARGO-PACKAGE(1) |
NAME¶
cargo-package — Assemble the local package into a distributable tarball
SYNOPSIS¶
cargo package [options]
DESCRIPTION¶
This command will create a distributable, compressed .crate file with the source code of the package in the current directory. The resulting file will be stored in the target/package directory. This performs the following steps:
The list of files included can be controlled with the include and exclude fields in the manifest.
See the reference <https://doc.rust-lang.org/cargo/reference/publishing.html> for more details about packaging and publishing.
.cargo_vcs_info.json format¶
Will generate a .cargo_vcs_info.json in the following format
{
"git": {
"sha1": "aac20b6e7e543e6dd4118b246c77225e3a3a1302"
},
"path_in_vcs": "" }
path_in_vcs will be set to a repo-relative path for packages in subdirectories of the version control repository.
OPTIONS¶
Package Options¶
-l, --list
--no-verify
--no-metadata
--allow-dirty
Package Selection¶
By default, when no package selection options are given, the packages selected depend on the selected manifest file (based on the current working directory if --manifest-path is not given). If the manifest is the root of a workspace then the workspaces default members are selected, otherwise only the package defined by the manifest will be selected.
The default members of a workspace can be set explicitly with the workspace.default-members key in the root manifest. If this is not set, a virtual workspace will include all workspace members (equivalent to passing --workspace), and a non-virtual workspace will include only the root crate itself.
-p spec…, --package spec…
--workspace
--exclude SPEC…
Compilation Options¶
--target triple
This may also be specified with the build.target config value <https://doc.rust-lang.org/cargo/reference/config.html>.
Note that specifying this flag makes Cargo run in a different mode where the target artifacts are placed in a separate directory. See the build cache <https://doc.rust-lang.org/cargo/guide/build-cache.html> documentation for more details.
--target-dir directory
Feature Selection¶
The feature flags allow you to control which features are enabled. When no feature options are given, the default feature is activated for every selected package.
See the features documentation <https://doc.rust-lang.org/cargo/reference/features.html#command-line-feature-options> for more details.
-F features, --features features
--all-features
--no-default-features
Manifest Options¶
--manifest-path path
--frozen, --locked
These may be used in environments where you want to assert that the Cargo.lock file is up-to-date (such as a CI build) or want to avoid network access.
--offline
Beware that this may result in different dependency resolution than online mode. Cargo will restrict itself to crates that are downloaded locally, even if there might be a newer version as indicated in the local copy of the index. See the cargo-fetch(1) command to download dependencies before going offline.
May also be specified with the net.offline config value <https://doc.rust-lang.org/cargo/reference/config.html>.
Miscellaneous Options¶
-j N, --jobs N
--keep-going
Display Options¶
-v, --verbose
-q, --quiet
--color when
May also be specified with the term.color config value <https://doc.rust-lang.org/cargo/reference/config.html>.
Common Options¶
+toolchain
--config KEY=VALUE or PATH
-C PATH
This option is only available on the nightly channel <https://doc.rust-lang.org/book/appendix-07-nightly-rust.html> and requires the -Z unstable-options flag to enable (see #10098 <https://github.com/rust-lang/cargo/issues/10098>).
-h, --help
-Z flag
ENVIRONMENT¶
See the reference <https://doc.rust-lang.org/cargo/reference/environment-variables.html> for details on environment variables that Cargo reads.
EXIT STATUS¶
EXAMPLES¶
cargo package