Rust 操作与命令 · 查看、安装与更新 Rust 工具链至创建和定位 Cargo 项目
本轮仅静态审读,未执行工具链或示例命令。成对双花括号中的内容是待替换参数,短选项与长选项并列时表示任选一种写法,不要原样复制。下列命令会按用途安装、改写配置、编译或发布,运行前先确认当前目录、目标工具链与操作影响。
Rust 操作与命令
本轮仅静态审读,未执行工具链或示例命令。成对双花括号中的内容是待替换参数,短选项与长选项并列时表示任选一种写法,不要原样复制。下列命令会按用途安装、改写配置、编译或发布,运行前先确认当前目录、目标工具链与操作影响。
查看、安装与更新 Rust 工具链
先查看已有工具链,再安装、更新或设置默认版本;项目级覆盖和指定工具链运行放在默认配置之后。
rustup · 安装、管理和更新 Rust 工具链
一些子命令,如
toolchain、target、update等有自己的使用文档。 更多信息:https://rust-lang.github.io/rustup/。
- 为你的系统安装 nightly 工具链:
rustup install nightly- 将默认工具链切换为 nightly 以便
cargo和rustc命令使用它:
rustup default nightly- 在当前项目中使用 nightly 工具链,但保持全局设置不变:
rustup override set nightly- 更新所有工具链:
参见 rustup update。
- 列出已安装的工具链:
参见 rustup show。
- 使用指定工具链运行
cargo build:
rustup run {{工具链}} cargo build- 在默认网页浏览器中打开本地 Rust 文档:
参见 rustup doc。
rustup show · 显示已安装的工具链、目标平台以及 rustc 的版本信息
- 显示所有信息:
rustup show- 显示当前激活的工具链:
rustup show active-toolchain- 显示 rustup 数据目录:
rustup show homerustup check · 检查 Rust 工具链和 rustup 的更新
- 检查所有更新:
rustup checkrustup toolchain · 管理 Rust 工具链
有关工具链的更多信息,请参见
rustup help toolchain。 更多信息:https://rust-lang.github.io/rustup/。
- 安装或更新指定工具链:
rustup toolchain install {{工具链}}- 卸载工具链:
rustup toolchain uninstall {{工具链}}- 列出已安装的工具链:
rustup toolchain list- 通过创建符号链接来创建自定义工具链:
rustup toolchain link {{自定义工具链名称}} {{path/to/directory}}rustup update · 更新 Rust 工具链以及 rustup 本身(如果不是通过包管理器安装的)
- 更新所有已安装的工具链和
rustup:
rustup update- 安装或更新指定工具链(有关工具链的更多信息,请参见
rustup help toolchain):
rustup update {{工具链}}rustup default · 设置默认 Rust 工具链
- 切换默认 Rust 工具链(详见
rustup help toolchain):
rustup default {{工具链}}rustup override · 修改目录的工具链覆盖设置
有关工具链的更多信息,请参见
rustup help toolchain。 更多信息:https://rust-lang.github.io/rustup/。
- 列出目录的工具链覆盖设置:
rustup override list- 为当前目录设置覆盖工具链(即在该目录中运行
cargo、rustc等命令时使用指定工具链):
rustup override set {{工具链}}- 移除当前目录的工具链覆盖设置:
rustup override unset- 移除所有指向已不存在目录的工具链覆盖设置:
rustup override unset --nonexistentrustup run · 在指定 Rust 工具链环境下运行命令
注意:所有由 rustup 管理的命令都有简写形式,例如,
cargo +nightly build等价于rustup run nightly cargo build。 更多信息:https://rust-lang.github.io/rustup/。
- 使用指定的 Rust 工具链运行命令(有关工具链的更多信息,请参见
rustup help toolchain):
rustup run {{工具链}} {{命令}}rustup which · 显示 rustup 管理的命令将运行哪个二进制文件
类似
which命令,但搜索的是 Rust 工具链而不是$PATH。 更多信息:https://rust-lang.github.io/rustup/。
- 显示默认工具链中命令的二进制文件路径:
rustup which {{命令}}- 显示指定工具链中命令的二进制文件路径(有关工具链的更多信息,请参见
rustup help toolchain):
rustup which --toolchain {{工具链}} {{命令}}rustup self · 管理 rustup 本身的安装
- 更新
rustup:
rustup self update- 卸载
rustup:
rustup self uninstallrustup set · 修改 rustup 的配置
- 设置默认目标平台:
rustup set default-host {{目标平台}}- 设置默认安装配置(
minimal只包含rustc、rust-std和cargo,而default还会安装rust-docs、rustfmt和clippy):
rustup set profile {{minimal|default}}- 设置在执行
rustup update时是否自动更新rustup本身:
rustup set auto-self-update {{enable|disable|check-only}}补充交叉编译目标、组件与 Shell 补全
标准工具链以外的目标平台、组件和补全脚本分别查阅 target、component、completions。
rustup target · 修改工具链支持的目标平台
如果不使用
--toolchain选项,rustup会使用默认工具链。更多信息请参见rustup help toolchain。 更多信息:https://rust-lang.github.io/rustup/。
- 为工具链添加目标平台:
rustup target add --toolchain {{工具链}} {{目标}}- 从工具链移除目标平台:
rustup target remove --toolchain {{工具链}} {{目标}}- 列出工具链的可用目标平台和已安装目标平台:
rustup target list --toolchain {{工具链}}- 列出工具链已安装的目标平台:
rustup target list --toolchain {{工具链}} --installedrustup component · 修改已安装工具链的组件
如果不使用
--toolchain选项,rustup将使用默认工具链。有关工具链的更多信息请参见rustup help toolchain。 更多信息:https://rust-lang.github.io/rustup/。
- 向工具链添加组件:
rustup component add --toolchain {{工具链}} {{组件}}- 从工具链中移除组件:
rustup component remove --toolchain {{工具链}} {{组件}}- 列出工具链已安装和可用的组件:
rustup component list --toolchain {{工具链}}- 列出工具链已安装的组件:
rustup component list --toolchain {{工具链}} --installedrustup completions · 为 rustup 和 cargo 生成命令补全脚本
- 将补全脚本输出到
stdout:
rustup completions {{bash|elvish|fish|powershell|zsh}} {{rustup|cargo}}创建和定位 Cargo 项目
已有目录从 init 开始,新目录从 new 开始;定位和检查清单放在创建之后。
cargo · 管理 Rust 项目及其模块依赖项(crates)
此命令也有关于其子命令的文件,例如:
build。 更多信息:https://doc.rust-lang.org/stable/cargo/。
- 搜索包(crate):
cargo search {{搜索关键词}}- 安装二进制包(crate):
cargo install {{包名}}- 列出已安装的二进制包(crate):
参见 cargo install。
- 在指定目录(或默认情况下在当前工作目录)中创建一个新的二进制或库 Rust 项目:
cargo init --{{bin|lib}} {{路径/到/目录}}- 向当前目录的
Cargo.toml添加一个依赖项:
参见 cargo add。
- 使用 release 模式在当前目录中构建 Rust 项目:
参见 cargo build。
- 使用已安装的 nightly 工具链构建当前项目(需要
rustup,此命令不会更新工具链):
cargo +nightly {{[b|build]}}- 使用特定数量的线程构建(默认为逻辑 CPU 的数量):
cargo {{[b|build]}} {{[-j|--jobs]}} {{线程数}}cargo new · 创建一个新的 Cargo 软件包
相当于
cargo init,但是必须指定一个目录。 更多信息:https://doc.rust-lang.org/cargo/commands/cargo-new.html。
- 使用二进制目标创建一个新的 Rust 项目:
cargo new {{路径/到/目录}}cargo init · 创建一个新的 Cargo 软件包
相当于
cargo new,但是指定目录是可选的。 更多信息:https://doc.rust-lang.org/cargo/commands/cargo-init.html。
- 在当前目录中初始化一个带有二进制目标的 Rust 项目:
cargo init- 在指定目录中初始化一个带有二进制目标的 Rust 项目:
cargo init {{路径/到/目录}}- 在当前目录中初始化一个带有库目标的 Rust 项目:
cargo init --lib- 在项目目录中初始化版本控制系统仓库(默认为
git):
cargo init --vcs {{git|hg|pijul|fossil|none}}- 设置软件包名称(默认为目录名称):
cargo init --name {{名称}}cargo locate-project · 打印项目的 Cargo.toml 清单的完整路径
如果项目是工作区的一部分,则显示项目的清单,而不是工作区的。 更多信息:https://doc.rust-lang.org/cargo/commands/cargo-locate-project.html。
- 显示包含完整路径到
Cargo.toml清单的 JSON 对象:
cargo locate-project- 以指定格式显示项目路径:
cargo locate-project --message-format {{plain|json}}- 显示位于工作区根目录而不是当前工作区成员的
Cargo.toml清单:
cargo locate-project --workspace- 显示特定目录中的
Cargo.toml清单:
cargo locate-project --manifest-path {{path/to/Cargo.toml}}cargo verify-project · 检查 Cargo.toml 文件清单的正确性,并将结果以 JSON 对象的形式打印出来
这是历史命令,从 Rust 1.84 起已弃用,下列旧调用保留用于识别历史笔记。新流程可用 cargo metadata --no-deps --format-version 1 读取当前项目元数据,必要时加 --manifest-path;元数据读取成功不等于源码或链接已通过,也不保证完全离线。弃用状态见下方官方列表。
更多信息:https://doc.rust-lang.org/cargo/commands/deprecated-and-removed.html。
- 检查当前项目清单的正确性:
cargo verify-project- 检查指定清单文件的正确性:
cargo verify-project --manifest-path {{path/to/Cargo.toml}}继续阅读
- 知识专题
- 知识专题
- 知识专题