使用cargo install安裝Rust二進(jìn)制工具過(guò)程
一、什么是 cargo install?
cargo install 命令專(zhuān)門(mén)用于安裝那些包含可執(zhí)行目標(biāo)的包,也就是說(shuō),這些包中必須有一個(gè)或多個(gè)二進(jìn)制目標(biāo)(binary target)。
與傳統(tǒng)的系統(tǒng)軟件包管理器不同,cargo install 并不是用來(lái)替換系統(tǒng)包,而是為 Rust 開(kāi)發(fā)者提供了一種簡(jiǎn)潔的方式來(lái)安裝和管理命令行工具。
需要注意的是,只有當(dāng)包中包含類(lèi)似 src/main.rs(或者在 Cargo.toml 中指定了其他二進(jìn)制文件)的二進(jìn)制目標(biāo)時(shí),才能使用 cargo install 進(jìn)行安裝。如果一個(gè)包僅提供庫(kù)代碼,那么它不能被直接安裝為可執(zhí)行程序。
二、安裝后的文件存放位置
所有使用 cargo install 安裝的二進(jìn)制文件都會(huì)存儲(chǔ)在安裝根目錄的 bin 文件夾中。如果你是通過(guò) rustup.rs 安裝的 Rust,并且沒(méi)有做過(guò)其他配置,那么這個(gè)目錄通常是 $HOME/.cargo/bin。
為了能夠在命令行中直接運(yùn)行這些工具,確保 $HOME/.cargo/bin 已經(jīng)添加到你的 $PATH 環(huán)境變量中。
可以在終端中執(zhí)行如下命令檢查:
echo $PATH
如果沒(méi)有看到 $HOME/.cargo/bin,你需要在 shell 的配置文件中(例如 .bashrc 或 .zshrc)添加如下行:
export PATH="$HOME/.cargo/bin:$PATH"
三、示例:安裝 ripgrep
ripgrep 是一個(gè)用 Rust 實(shí)現(xiàn)的文本搜索工具,功能類(lèi)似于傳統(tǒng)的 grep,但性能更強(qiáng)、使用更簡(jiǎn)單。
下面的命令展示了如何通過(guò) 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`)安裝過(guò)程中,Cargo 會(huì)自動(dòng)從 crates.io 下載 ripgrep 及其依賴(lài),并編譯生成可執(zhí)行文件。
注意輸出中倒數(shù)第二行顯示了安裝位置和生成的二進(jìn)制名稱(chēng)(在此例中為 rg)。
只要你的 $PATH 包含了安裝目錄,你就可以在終端中直接運(yùn)行:
$ rg --help
這時(shí),你會(huì)看到 ripgrep 的使用幫助信息,從而開(kāi)始體驗(yàn)這個(gè)高效的搜索工具。
四、總結(jié)
cargo install的作用:它允許你從 crates.io 安裝帶有二進(jìn)制目標(biāo)的包,而不是庫(kù)包,從而在本地使用命令行工具。- 安裝位置:所有二進(jìn)制工具都安裝在
$HOME/.cargo/bin中,請(qǐng)確保該目錄已添加到$PATH環(huán)境變量中。 - 使用示例:本文以
ripgrep為例,演示了如何使用cargo install下載、編譯和安裝 Rust 工具。
通過(guò) cargo install,你可以輕松獲取社區(qū)中各種優(yōu)秀的 Rust 工具,體驗(yàn) Rust 生態(tài)帶來(lái)的便捷與高效。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Rust中GUI庫(kù)egui的簡(jiǎn)單應(yīng)用指南
egui(發(fā)音為“e-gooey”)是一個(gè)簡(jiǎn)單、快速且高度可移植的 Rust 即時(shí)模式 GUI 庫(kù),跨平臺(tái)、Rust原生,適合一些小工具和游戲引擎GUI,下面就跟隨小編一起來(lái)看看它的具體使用吧2024-03-03
Rust中non_exhaustive的enum使用確保程序健壯性
這篇文章主要為大家介紹了Rust中non_exhaustive的enum使用確保程序健壯性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Rust 所有權(quán)(Ownership)的使用小結(jié)
Rust通過(guò)所有權(quán)系統(tǒng)管理內(nèi)存,確保安全且無(wú)運(yùn)行時(shí)性能損失,所有權(quán)系統(tǒng)的核心規(guī)則包括唯一所有者、所有權(quán)失效時(shí)值自動(dòng)釋放和值在任何時(shí)刻只能有一個(gè)所有者,本教程詳細(xì)介紹了所有權(quán)的規(guī)則、棧與堆的區(qū)別以及所有權(quán)在變量賦值、函數(shù)傳參和返回值中的應(yīng)用2026-01-01
Rust?搭建一個(gè)小程序運(yùn)行環(huán)境的方法詳解
rust是一門(mén)比較新的編程語(yǔ)言,2015年5月15日,Rust編程語(yǔ)言核心團(tuán)隊(duì)正式宣布發(fā)布Rust?1.0版本,本文給大家介紹Rust?搭建一個(gè)小程序運(yùn)行環(huán)境,以iOS?為例介紹開(kāi)發(fā)環(huán)境的準(zhǔn)備,感興趣的朋友跟隨小編一起看看吧2022-05-05
rust類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn)
Rust是類(lèi)型安全的語(yǔ)言,因此在Rust中做類(lèi)型轉(zhuǎn)換不是一件簡(jiǎn)單的事,本文主要介紹了rust類(lèi)型轉(zhuǎn)換的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
2022最新Rust變量與數(shù)據(jù)類(lèi)型講解
rust 是強(qiáng)類(lèi)型語(yǔ)言所有變量、常量都必須有明確的數(shù)據(jù)類(lèi)型,這篇文章主要介紹了Rust變量與數(shù)據(jù)類(lèi)型,需要的朋友可以參考下2022-11-11
Rust 入門(mén)之函數(shù)和注釋實(shí)例詳解
這篇文章主要為大家介紹了Rust 入門(mén)之函數(shù)和注釋實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

