使用 `cargo install` 安装 Rust 二进制工具

一、什么是 cargo install

cargo install 命令专门用于安装那些包含可执行目标的包,也就是说,这些包中必须有一个或多个二进制目标(binary target)。与传统的系统软件包管理器不同,cargo install 并不是用来替换系统包,而是为 Rust 开发者提供了一种简洁的方式来安装和管理命令行工具。

需要注意的是,只有当包中包含类似 src/main.rs(或者在 Cargo.toml 中指定了其他二进制文件)的二进制目标时,才能使用 cargo install 进行安装。如果一个包仅提供库代码,那么它不能被直接安装为可执行程序。

二、安装后的文件存放位置

所有使用 cargo install 安装的二进制文件都会存储在安装根目录的 bin 文件夹中。如果你是通过 rustup.rs 安装的 Rust,并且没有做过其他配置,那么这个目录通常是 $HOME/.cargo/bin

为了能够在命令行中直接运行这些工具,确保 $HOME/.cargo/bin 已经添加到你的 $PATH 环境变量中。可以在终端中执行如下命令检查:

bash 复制代码
echo $PATH

如果没有看到 $HOME/.cargo/bin,你需要在 shell 的配置文件中(例如 .bashrc.zshrc)添加如下行:

bash 复制代码
export PATH="$HOME/.cargo/bin:$PATH"

三、示例:安装 ripgrep

ripgrep 是一个用 Rust 实现的文本搜索工具,功能类似于传统的 grep,但性能更强、使用更简单。下面的命令展示了如何通过 cargo install 安装 ripgrep

bash 复制代码
$ cargo install ripgrep
    Updating crates.io index
  Downloaded ripgrep v13.0.0
  Downloaded 1 crate (243.3 KB) in 0.88s
  Installing ripgrep v13.0.0
--snip--
   Compiling ripgrep v13.0.0
    Finished `release` profile [optimized + debuginfo] target(s) in 10.64s
  Installing ~/.cargo/bin/rg
   Installed package `ripgrep v13.0.0` (executable `rg`)

安装过程中,Cargo 会自动从 crates.io 下载 ripgrep 及其依赖,并编译生成可执行文件。注意输出中倒数第二行显示了安装位置和生成的二进制名称(在此例中为 rg)。只要你的 $PATH 包含了安装目录,你就可以在终端中直接运行:

bash 复制代码
$ rg --help

这时,你会看到 ripgrep 的使用帮助信息,从而开始体验这个高效的搜索工具。

四、总结

  • cargo install 的作用:它允许你从 crates.io 安装带有二进制目标的包,而不是库包,从而在本地使用命令行工具。
  • 安装位置 :所有二进制工具都安装在 $HOME/.cargo/bin 中,请确保该目录已添加到 $PATH 环境变量中。
  • 使用示例 :本文以 ripgrep 为例,演示了如何使用 cargo install 下载、编译和安装 Rust 工具。

通过 cargo install,你可以轻松获取社区中各种优秀的 Rust 工具,体验 Rust 生态带来的便捷与高效。如果你有更多关于 Rust 工具安装的经验或问题,欢迎在评论区分享讨论!


希望这篇博客能帮助你更好地理解和使用 cargo install。Happy coding!

相关推荐
夏子曦41 分钟前
C#——NET Core 中实现汉字转拼音
开发语言·c#
꧁坚持很酷꧂1 小时前
Qt天气预报系统绘制温度曲线
开发语言·qt
电商数据girl1 小时前
【Python爬虫电商数据采集+数据分析】采集电商平台数据信息,并做可视化演示
java·开发语言·数据库·爬虫·python·数据分析
海尔辛2 小时前
学习黑客Bash 脚本
开发语言·学习·bash
源码云商2 小时前
基于 SpringBoot + Vue 的校园管理系统设计与实现
vue.js·spring boot·后端
小白学大数据2 小时前
分布式爬虫去重:Python + Redis实现高效URL去重
开发语言·分布式·爬虫·python
奔驰的小野码2 小时前
SpringAI实现AI应用-内置顾问
java·人工智能·后端·spring
普通人zzz~2 小时前
SpringBoot记录用户操作日志
java·spring boot·后端
大三开学菜鸟2 小时前
记录一下spring-cloud-starter-alibaba-nacos-config 2023.0.3.2与springboot版本及配置问题
java·spring boot·后端·spring·intellij-idea
可可乐不加冰2 小时前
QT生成保存 Excel 文件的默认路径,导出的文件后缀自动加(1)(2)等等
开发语言·qt