trpl-zh-cn/src/ch14-04-installing-binaries.md

27 lines
1.9 KiB
Markdown
Raw Normal View History

2023-01-23 15:04:06 +08:00
## 使用 `cargo install` 安装二进制文件
2017-03-12 15:31:28 +08:00
2021-06-03 12:26:20 +08:00
> [ch14-04-installing-binaries.md](https://github.com/rust-lang/book/blob/main/src/ch14-04-installing-binaries.md)
2017-03-12 15:31:28 +08:00
> <br>
2023-01-23 15:04:06 +08:00
> commit 704c51eec2f26a0133ae17a2c01986590c05a045
2017-03-12 15:31:28 +08:00
2023-09-29 15:07:58 +08:00
`cargo install` 命令用于在本地安装和使用二进制 crate。它并不打算替换系统中的包它意在作为一个方便 Rust 开发者们安装其他人已经在 [crates.io](https://crates.io/)<!-- ignore --> 上共享的工具的手段。只有拥有二进制目标文件的包能够被安装。**二进制目标** 文件是在 crate 有 *src/main.rs* 或者其他指定为二进制文件时所创建的可执行程序,这不同于自身不能执行但适合包含在其他程序中的库目标文件。通常 crate 的 *README* 文件中有该 crate 是库、二进制目标还是两者兼有的信息。
2017-03-12 15:31:28 +08:00
2023-09-29 15:07:58 +08:00
所有来自 `cargo install` 的二进制文件都安装到 Rust 安装根目录的 *bin* 文件夹中。如果你是使用 *rustup.rs* 来安装 Rust 且没有自定义任何配置,这个目录将是 `$HOME/.cargo/bin`。确保将这个目录添加到 `$PATH` 环境变量中就能够运行通过 `cargo install` 安装的程序了。
2017-03-12 15:31:28 +08:00
2023-01-23 15:04:06 +08:00
例如,第十二章提到的叫做 `ripgrep` 的用于搜索文件的 `grep` 的 Rust 实现。为了安装 `ripgrep` 运行如下:
2017-09-19 10:23:33 +08:00
2022-02-09 19:16:45 +08:00
```console
2017-03-12 15:31:28 +08:00
$ cargo install ripgrep
2022-02-09 19:16:45 +08:00
Updating crates.io index
2023-01-23 15:04:06 +08:00
Downloaded ripgrep v13.0.0
2022-02-09 19:16:45 +08:00
Downloaded 1 crate (243.3 KB) in 0.88s
2023-01-23 15:04:06 +08:00
Installing ripgrep v13.0.0
2022-02-09 19:16:45 +08:00
--snip--
2023-01-23 15:04:06 +08:00
Compiling ripgrep v13.0.0
2022-02-09 19:16:45 +08:00
Finished release [optimized + debuginfo] target(s) in 3m 10s
2017-03-12 15:31:28 +08:00
Installing ~/.cargo/bin/rg
2023-01-23 15:04:06 +08:00
Installed package `ripgrep v13.0.0` (executable `rg`)
2017-03-12 15:31:28 +08:00
```
最后一行输出展示了安装的二进制文件的位置和名称,在这里 `ripgrep` 被命名为 `rg`。只要你像上面提到的那样将安装目录加入 `$PATH`,就可以运行 `rg --help` 并开始使用一个更快更 Rust 的工具来搜索文件了!