Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CARGO-PUBLISH(1)	    General Commands Manual	      CARGO-PUBLISH(1)

       cargo-publish - Upload a	package	to the registry

       cargo publish [options]

       This command will create	a distributable, compressed .crate file	with
       the source code of the package in the current directory and upload it
       to a registry. The default registry is <>. This
       performs	the following steps:

	1. Performs a few checks, including:

	   o  Checks the package.publish key in	the manifest for restrictions
	       on which	registries you are allowed to publish to.

	2. Create a .crate file	by following the steps in cargo-package(1).

	3. Upload the crate to the registry. Note that the server will perform
	   additional checks on	the crate.

       This command requires you to be authenticated with either the --token
       option or using cargo-login(1).

       See the reference
       <> for more
       details about packaging and publishing.

   Publish Options
	   Perform all checks without uploading.

       --token token
	   API token to	use when authenticating. This overrides	the token
	   stored in the credentials file (which is created by

	   Cargo config
	   <> environment
	   variables can be used to override the tokens	stored in the
	   credentials file. The token for may be specified with the
	   CARGO_REGISTRY_TOKEN	environment variable. Tokens for other
	   registries may be specified with environment	variables of the form
	   CARGO_REGISTRIES_NAME_TOKEN where NAME is the name of the registry
	   in all capital letters.

	   Don't verify	the contents by	building them.

	   Allow working directories with uncommitted VCS changes to be

       --index index
	   The URL of the registry index to use.

       --registry registry
	   Name	of the registry	to publish to. Registry	names are defined in
	   Cargo config	files
	   <>. If not
	   specified, and there	is a package.publish
	   field in Cargo.toml with a single registry, then it will publish to
	   that	registry. Otherwise it will use	the default registry, which is
	   defined by the registry.default
	   config key which defaults to	crates-io.

   Compilation Options
       --target	triple
	   Publish for the given architecture. The default is the host
	   architecture. The general format of the triple is
	   <arch><sub>-<vendor>-<sys>-<abi>. Run rustc --print target-list for
	   a list of supported targets.

	   This	may also be specified with the config value

	   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
	   documentation for more details.

       --target-dir directory
	   Directory for all generated artifacts and intermediate files. May
	   also	be specified with the CARGO_TARGET_DIR environment variable,
	   or the config value
	   <>. Defaults
	   to target in	the root of the	workspace.

   Feature Selection
       The feature flags allow you to control the enabled features for the
       "current" package. The "current"	package	is the package in the current
       directory, or the one specified in --manifest-path. If running in the
       root of a virtual workspace, then the default features are selected for
       all workspace members, or all features if --all-features	is specified.

       When no feature options are given, the default feature is activated for
       every selected package.

       --features features
	   Space or comma separated list of features to	activate. These
	   features only apply to the current directory's package. Features of
	   direct dependencies may be enabled with <dep-name>/<feature-name>
	   syntax. This	flag may be specified multiple times, which enables
	   all specified features.

	   Activate all	available features of all selected packages.

	   Do not activate the default feature of the current directory's

   Manifest Options
       --manifest-path path
	   Path	to the Cargo.toml file.	By default, Cargo searches for the
	   Cargo.toml file in the current directory or any parent directory.

       --frozen, --locked
	   Either of these flags requires that the Cargo.lock file is
	   up-to-date. If the lock file	is missing, or it needs	to be updated,
	   Cargo will exit with	an error. The --frozen flag also prevents
	   Cargo from attempting to access the network to determine if it is

	   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.

	   Prevents Cargo from accessing the network for any reason. Without
	   this	flag, Cargo will stop with an error if it needs	to access the
	   network and the network is not available. With this flag, Cargo
	   will	attempt	to proceed without the network if possible.

	   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

   Miscellaneous Options
       -j N, --jobs N
	   Number of parallel jobs to run. May also be specified with the config value
	   <>. Defaults
	   to the number of CPUs.

   Display Options
       -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
	   No output printed to	stdout.

       --color when
	   Control when	colored	output is used.	Valid values:

	   o  auto (default): Automatically detect if color support is
	       available on the	terminal.

	   o  always: Always display colors.

	   o  never: Never display colors.

	   May also be specified with the term.color config value

   Common Options
	   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.

       -h, --help
	   Prints help information.

       -Z flag
	   Unstable (nightly-only) flags to Cargo. Run cargo -Z	help for

       See the reference
       for details on environment variables that Cargo reads.

       o  0: Cargo succeeded.

       o  101: Cargo failed to complete.

	1. Publish the current package:

	       cargo publish

       cargo(1), cargo-package(1), cargo-login(1)



Want to link to this manual page? Use this URL:

home | help