Rust 如何使用“cargo”自定义安装?

Rust 如何使用“cargo”自定义安装?,rust,installation,customization,rust-cargo,Rust,Installation,Customization,Rust Cargo,假设我有一个标准货运项目 my-package ├── Cargo.lock ├── Cargo.toml └── src ├── bin │ └── an_executable.rs └── lib.rs 出于与其正常功能相关的原因,我需要将可执行文件安装为root并打开。 我可以很容易地在工作目录中使用 cargo build --release sudo install -o root -g root -m 4755 -t /usr/local/bin tar

假设我有一个标准货运项目

my-package
├── Cargo.lock
├── Cargo.toml
└── src
    ├── bin
    │   └── an_executable.rs
    └── lib.rs
出于与其正常功能相关的原因,我需要将可执行文件
安装为root并打开。
我可以很容易地在工作目录中使用

cargo build --release
sudo install -o root -g root -m 4755 -t /usr/local/bin target/release/an_executable

是否有办法配置安装过程(在
Cargo.toml
中的选项,自定义构建脚本…),以便在尝试使用
Cargo安装我的软件包时发生同样的情况?

否,这超出了
Cargo
的功能范围

作为替代方案,您可以使用标准的
Makefile
来控制构建包,并使用执行所需操作的
install
目标。有点像


请记住,并非所有目标平台(尤其是Windows)都有类似于
setuid

的概念。是的,我目前正在使用Makefile,但它只能从包目录中工作。在从板条箱安装时,我希望有一种方法可以实现同样的效果。ioGo upvote此问题: