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

 更新时间:2025年02月26日 09:15:27   作者:Hello.Reader  
cargoinstall是一个用于安装包含可执行目标的Rust包的命令行工具,类似于系统软件包管理器,但它为Rust开发者提供了一种简洁的方式来安装和管理命令行工具,安装后,二进制文件会存储在$HOME/.cargo/bin目录中,需要将该目录添加到$PATH环境变量中才能在命令行中直接运行

一、什么是 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 环境变量中。

可以在终端中执行如下命令检查:

echo $PATH

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

export PATH="$HOME/.cargo/bin:$PATH"

三、示例:安装 ripgrep

ripgrep 是一个用 Rust 实现的文本搜索工具,功能类似于传统的 grep,但性能更强、使用更简单。

下面的命令展示了如何通过 cargo install 安装 ripgrep

$ 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 包含了安装目录,你就可以在终端中直接运行:

$ rg --help

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

四、总结

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

通过 cargo install,你可以轻松获取社区中各种优秀的 Rust 工具,体验 Rust 生态带来的便捷与高效。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Rust中GUI库egui的简单应用指南

    Rust中GUI库egui的简单应用指南

    egui(发音为“e-gooey”)是一个简单、快速且高度可移植的 Rust 即时模式 GUI 库,跨平台、Rust原生,适合一些小工具和游戏引擎GUI,下面就跟随小编一起来看看它的具体使用吧
    2024-03-03
  • Rust中non_exhaustive的enum使用确保程序健壮性

    Rust中non_exhaustive的enum使用确保程序健壮性

    这篇文章主要为大家介绍了Rust中non_exhaustive的enum使用确保程序健壮性示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Rust内存示例深入讲解

    Rust内存示例深入讲解

    内存管理一直是编程中的一大挑战,尤其是在C和C++中,程序员需要手动处理内存分配和释放,这篇文章主要介绍了Rust内存的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-02-02
  • Rust 所有权(Ownership)的使用小结

    Rust 所有权(Ownership)的使用小结

    Rust通过所有权系统管理内存,确保安全且无运行时性能损失,所有权系统的核心规则包括唯一所有者、所有权失效时值自动释放和值在任何时刻只能有一个所有者,本教程详细介绍了所有权的规则、栈与堆的区别以及所有权在变量赋值、函数传参和返回值中的应用
    2026-01-01
  • 深入了解Rust中函数与闭包的使用

    深入了解Rust中函数与闭包的使用

    本文主要介绍一下Rust函数相关的内容,首先函数我们其实一直都在用,所以函数本身没什么可说的,我们的重点是与函数相关的闭包、高阶函数、发散函数,感兴趣的可以学习一下
    2022-11-11
  • Rust 搭建一个小程序运行环境的方法详解

    Rust 搭建一个小程序运行环境的方法详解

    rust是一门比较新的编程语言,2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本,本文给大家介绍Rust 搭建一个小程序运行环境,以iOS 为例介绍开发环境的准备,感兴趣的朋友跟随小编一起看看吧
    2022-05-05
  • rust类型转换的实现

    rust类型转换的实现

    Rust是类型安全的语言,因此在Rust中做类型转换不是一件简单的事,本文主要介绍了rust类型转换的实现,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12
  • Rust指南之生命周期机制详解

    Rust指南之生命周期机制详解

    Rust 生命周期机制是与所有权机制同等重要的资源管理机制,之所以引入这个概念主要是应对复杂类型系统中资源管理的问题,这篇文章主要介绍了Rust指南之生命周期机制详解,需要的朋友可以参考下
    2022-10-10
  • 2022最新Rust变量与数据类型讲解

    2022最新Rust变量与数据类型讲解

    rust 是强类型语言所有变量、常量都必须有明确的数据类型,这篇文章主要介绍了Rust变量与数据类型,需要的朋友可以参考下
    2022-11-11
  • Rust 入门之函数和注释实例详解

    Rust 入门之函数和注释实例详解

    这篇文章主要为大家介绍了Rust 入门之函数和注释实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论