1. 概述
- 使用
cargo install来安装二进制crate - 安装来源来自crates.io
 - 只能安装具有二进制目标(binary target)的crate
 - 二进制目标binary target是一个可运行的程序,由
src/main.rs或其他被指定为二进制文件的crate生成 
通常在对应的crate仓库中,README文件里里有关于crate的描述。
2. cargo install
cargo install安装的二进制存放在根目录的bin文件夹。
如果使用rustup安装的rust,没有进行任何配置,那么二进制存放目录是$HOME/.cargo/bin。
为了确保rust安装的二进制程序能够运行,我们要确保该目录在PATH环境变量中,我们才能在终端上执行安装的二进制文件。
例子:
- 安装自己发布的包:
cargo install first_crate_yinuo - 安装后:运行
first_crate_yinuo - 查看环境变量的路径: 
echo $PATH 

3. 使用自定义命令扩展cargo
- cargo被设计成可以使用子命令来扩展,类似于npm link。
 
举例:
- 新建一个项目
cargo new cargo-hello - 修改
Cargo.toml 
            
            
              ini
              
              
            
          
          [package]
name = "cargo-hello"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
[[bin]]
name = "cargo-hello"
path = "src/main.rs"
        - 在项目外部,安装
cargo install --path cargo-hello 

- 运行
cargo --list,可以看到命令hello'
 - 运行
cargo hello 

总结:
如果在PATH中的某个二进制是cargo-something,那么我们可以像自定义命令一样运行,如下
            
            
              bash
              
              
            
          
          cargo something
        类似这样的自定义命令可以通过cargo --list命令列出来。
这种设计的优点在于,我们可以使用cargo install来安装扩展,并像内置工具一样运行。