Home

Awesome

cargo-no-dev-deps

crates.io license github actions

Cargo subcommand for running cargo without dev-dependencies.

This is an extraction of the cargo-hack's --no-dev-deps flag to be used as a stand-alone cargo subcommand.

Usage

<!-- readme-long-help:start -->
$ cargo no-dev-deps --help
cargo-no-dev-deps

Cargo subcommand for running cargo without dev-dependencies.

USAGE:
    cargo no-dev-deps <CARGO_SUBCOMMAND> [OPTIONS] [CARGO_OPTIONS]

OPTIONS:
        --no-private    Perform without `publish = false` crates

CARGO_SUBCOMMANDS:
    build
    check
    ...
<!-- readme-long-help:end -->

To run cargo check without dev-deps:

cargo no-dev-deps check

Note: cargo-no-dev-deps modifies Cargo.toml and Cargo.lock while running and restores it when finished. Any changes you made to those files during running will not be preserved.

If you want exclude publish = false crates, you can exclude these crates by using --no-private flag.

cargo no-dev-deps --no-private check

This flag is more powerful than cargo-hack's --ignore-private flag, because this also prevents private crates from affecting lockfile and metadata.

Installation

<!-- omit in toc -->

From source

cargo +stable install cargo-no-dev-deps --locked

Currently, installing cargo-no-dev-deps requires rustc 1.70+.

cargo-no-dev-deps is usually runnable with Cargo versions older than the Rust version required for installation (e.g., cargo +1.59 no-dev-deps check).

<!-- omit in toc -->

From prebuilt binaries

You can download prebuilt binaries from the Release page. Prebuilt binaries are available for macOS, Linux (gnu and musl), Windows (static executable), FreeBSD, and illumos.

<details> <summary>Example of script to download cargo-no-dev-deps</summary>
# Get host target
host=$(rustc -vV | grep '^host:' | cut -d' ' -f2)
# Download binary and install to $HOME/.cargo/bin
curl --proto '=https' --tlsv1.2 -fsSL https://github.com/taiki-e/cargo-no-dev-deps/releases/latest/download/cargo-no-dev-deps-$host.tar.gz | tar xzf - -C "$HOME/.cargo/bin"
</details> <!-- omit in toc -->

On GitHub Actions

You can use taiki-e/install-action to install prebuilt binaries on Linux, macOS, and Windows. This makes the installation faster and may avoid the impact of problems caused by upstream changes.

- uses: taiki-e/install-action@cargo-no-dev-deps
<!-- omit in toc -->

Via Homebrew

You can install cargo-no-dev-deps from the Homebrew tap maintained by us (x86_64/AArch64 macOS, x86_64/AArch64 Linux):

brew install taiki-e/tap/cargo-no-dev-deps
<!-- omit in toc -->

Via Scoop (Windows)

You can install cargo-no-dev-deps from the Scoop bucket maintained by us:

scoop bucket add taiki-e https://github.com/taiki-e/scoop-bucket
scoop install cargo-no-dev-deps
<!-- omit in toc -->

Via cargo-binstall

You can install cargo-no-dev-deps using cargo-binstall:

cargo binstall cargo-no-dev-deps

Related Projects

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.