#cargo-build #cargo #utility #cargo-subcommand #cargo-toml #manifest-file #plugin

bin+lib cargo-exe

一个用于打印从 cargo build 生成的输出可执行文件路径的 Cargo 插件

2 个稳定版本

1.0.1 2022年4月21日

#531 in Cargo 插件

Apache-2.0

13KB
199

Cargo-EXE

Crates.io docs.rs

Cargo-EXE 是一个小型实用命令行工具,它是 Cargo 的扩展,用于打印 cargo build 生成的输出路径。它主要用于在 shell 脚本中使用,但也可能作为通用命令使用。

安装

安装了 Cargo 后,以下命令将自动从 crates.io 构建 和安装 cargo-exe

$ cargo install cargo-exe

只要 $HOME/.cargo/bin/ 被包含在 $PATH 中,子命令应立即可用。

用法

最简单的用法是不带参数运行子命令。这将返回 Debug 构建的路径。

$ cargo exe
./target/debug/binary

使用 --release 标志,将返回 Release 构建的路径。

$ cargo exe --release
./target/release/binary

如果启用了 --latest 标志,程序实际上会搜索 ./target 中的所有内容,并打印出它找到的最后一个修改的二进制文件路径。这对于在构建后对可执行文件执行进一步操作的脚本特别有用。

#!/bin/bash
cargo build "$@" && mv $(cargo exe --latest) ~/.local/bin

如果提供了路径作为参数,无论是 Cargo.toml 文件还是包含它的目录的路径,则将使用该项目而不是当前目录中的项目。

$ cargo exe /devel/rust/project
/devel/rust/project/target/debug/project

最后,-f 选项允许手动指定要搜索的文件名。这绕过了通过读取清单文件来确定可执行文件名的需要。除了搜索参与构建的任何任意文件的最新版本外,这还可以生成不存在项目的构建路径。

这可能或可能没有实际应用。

$ cargo exe /root/aaa -f fake.exe
/root/aaa/target/debug/fake.exe

依赖项

约3.5MB
约70K SLoC