查看: 2|回复: 0

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

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-2-14
发表于 2025-2-26 09:15:27 | 显示全部楼层 |阅读模式

一、什么是 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 生态带来的便捷与高效。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。

您可能感兴趣的文章:
  • jupyter安装失败的解决,问题出在rust环境和32位python
  • Python安装jupyter notebook报pywinpty缺少Rust和Cargo问题
  • Windows系统下安装Rust环境超详细教程
  • MacBook Pro安装rust编程环境的过程
  • 一步到位,教你如何在Windows成功安装Rust
  • Rust自定义安装路径的详细图文教程
  • IntelliJ安装并使用Rust IDE插件
  • Rust安装的图文教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部