Rust:在系统范围内安装本地构建的可执行文件

Ale*_*lov 7 rust rust-cargo

假设我构建成功:

$ cargo build --release
...
Finished release [optimized] target(s) in 2m 52s
Run Code Online (Sandbox Code Playgroud)

有没有办法让它立即可供系统用户使用,而无需上传到注册表?

以 Python 为例,它看起来像这样:

myutility $ pip install dist/myutility-0.8.2-py3-none-any.whl --user
Run Code Online (Sandbox Code Playgroud)

myutility转到缓存

/home/user/.local/bin/myutility
Run Code Online (Sandbox Code Playgroud)

并且可以在任何地方使用:

~ $ myutility --help
Run Code Online (Sandbox Code Playgroud)

cargo我该如何使用 Rust (and )来做这样的事情呢?

loo*_*ops 14

你可以做

$ cargo install --path .
Run Code Online (Sandbox Code Playgroud)

在发布模式下编译并将cargo包安装在当前目录中。这使得 Cargo 将其安装到~/.cargo/bin.

  • 从技术上讲,它安装到“$CARGO_HOME/bin”,但这只是一个简短答案的挑剔。 (3认同)
  • 请注意,[`cargo install` 默认忽略 Cargo.lock](https://github.com/rust-lang/cargo/issues/7302#issuecomment-525010526);要匹配“cargo build --release”将构建的内容,请使用“cargo install --path”。--锁定` (2认同)