如何使用 `cargo` 自定义安装?
How to customize installation with `cargo`?
假设我有一个标准的 Cargo 项目
my-package
├── Cargo.lock
├── Cargo.toml
└── src
├── bin
│ └── an_executable.rs
└── lib.rs
出于与其正常运行相关的原因,我需要以 root 身份安装可执行文件 an_executable
并打开 setuid bit。
我可以使用
从工作目录轻松地做到这一点
cargo build --release
sudo install -o root -g root -m 4755 -t /usr/local/bin target/release/an_executable
有没有办法配置安装过程(Cargo.toml
中的选项、自定义构建脚本...),以便在我尝试使用 cargo install my-package
安装时发生同样的情况?
不,这超出了 cargo
的范围。
作为替代方案,您可以使用标准 Makefile
控制构建包,并使用满足您需要的 install
目标。 this.
的调子
请记住,并非所有目标平台 - 特别是 Windows - 都有像 setuid
.
这样的概念
假设我有一个标准的 Cargo 项目
my-package
├── Cargo.lock
├── Cargo.toml
└── src
├── bin
│ └── an_executable.rs
└── lib.rs
出于与其正常运行相关的原因,我需要以 root 身份安装可执行文件 an_executable
并打开 setuid bit。
我可以使用
cargo build --release
sudo install -o root -g root -m 4755 -t /usr/local/bin target/release/an_executable
有没有办法配置安装过程(Cargo.toml
中的选项、自定义构建脚本...),以便在我尝试使用 cargo install my-package
安装时发生同样的情况?
不,这超出了 cargo
的范围。
作为替代方案,您可以使用标准 Makefile
控制构建包,并使用满足您需要的 install
目标。 this.
请记住,并非所有目标平台 - 特别是 Windows - 都有像 setuid
.