|
|
|
|
## 使用 `cargo install` 从 Crates.io 安装二进制文件
|
|
|
|
|
|
|
|
|
|
> [ch14-04-installing-binaries.md](https://github.com/rust-lang/book/blob/master/src/ch14-04-installing-binaries.md)
|
|
|
|
|
> <br>
|
|
|
|
|
> commit 1fedfc4b96c2017f64ecfcf41a0a07e2e815f24f
|
|
|
|
|
|
|
|
|
|
`cargo install` 命令用于在本地安装和使用二进制 crate。它并不打算替换系统中的包;它意在作为一个方便 Rust 开发者们安装其他人已经在 [crates.io](https://crates.io)<!-- ignore --> 上共享的工具的手段。只有拥有二进制目标文件的包能够被安装。**二进制目标** 文件是在 crate 有 *src/main.rs* 或者其他指定为二进制文件时所创建的可执行程序,这不同于自身不能执行但适合包含在其他程序中的库目标文件。通常 crate 的 *README* 文件中有该 crate 是库、二进制目标还是两者都是的信息。
|
|
|
|
|
|
|
|
|
|
所有来自 `cargo install` 的二进制文件都安装到 Rust 安装根目录的 *bin* 文件夹中。如果你使用 *rustup.rs* 安装的 Rust 且没有自定义任何配置,这将是 `$HOME/.cargo/bin`。确保将这个目录添加到 `$PATH` 环境变量中就能够运行通过 `cargo install` 安装的程序了。
|
|
|
|
|
|
|
|
|
|
例如,第十二章提到的叫做 `ripgrep` 的用于搜索文件的 `grep` 的 Rust 实现。如果想要安装 `ripgrep`,可以运行如下:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
$ cargo install ripgrep
|
|
|
|
|
Updating registry `https://github.com/rust-lang/crates.io-index`
|
|
|
|
|
Downloading ripgrep v0.3.2
|
|
|
|
|
--snip--
|
|
|
|
|
Compiling ripgrep v0.3.2
|
|
|
|
|
Finished release [optimized + debuginfo] target(s) in 97.91 secs
|
|
|
|
|
Installing ~/.cargo/bin/rg
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
最后一行输出展示了安装的二进制文件的位置和名称,在这里 `ripgrep` 被命名为 `rg`。只要你像上面提到的那样将安装目录加入 `$PATH`,就可以运行 `rg --help` 并开始使用一个更快更 Rust 的工具来搜索文件了!
|