如何列出我使用“cargo install”安装的所有全局包?

57

我用 cargo install 安装了几个 CLI 工具(例如 ripgrep),如何查看我使用 cargo install 下载的所有工具列表?类似于 apt list --installed 但是针对 cargo

3个回答

73
命令行
cargo help install

生成详细的帮助信息。其中包括常见的示例,例如。
查看已安装的软件包列表: ``` cargo install --list ```
这将列出所有已安装的软件包及其版本以及包含的二进制文件集合。这种方法优于其他提议的解决方案,因为软件包可以包含多个二进制文件(例如cargo-edit),或者具有与创建名称不匹配的二进制文件名(例如ripgrep)。
只需小心不要输入cargo install list,因为那样会尝试安装list软件包,幸运的是在撰写本文时会出现错误(而不是安装一个恶意二进制文件)。

8

ls ~/.cargo/bin/

这里存放着二进制文件,列出该目录下的所有文件将会给您展示您已安装的所有全局 Cargo 包。


5
安装的二进制文件名不一定与软件包名称匹配,例如 cargo install cargo-edit 会给你提供 cargo-addcargo-rm - gib

0
如果您想操作由显示的列表,请查看以下内容:
cat $CARGO_HOME/.crates.toml
cat $CARGO_HOME/.crates2.json | jq .

请注意,.crates2.json 是以 json 格式存储的。
要列出已安装的软件包名称,您可以运行以下命令:
cat $CARGO_HOME/.crates2.json | jq -r '.installs | keys[] | split(" ")[0]'

回答很有帮助,但对我来说路径是$CARGO_HOME/.crates2.json(不在bin目录内)。 - gib

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接