7 个版本
使用旧的 Rust 2015
0.3.0 | 2015年12月24日 |
---|---|
0.2.3 | 2015年12月11日 |
0.2.1 | 2015年11月30日 |
0.1.1 | 2015年11月14日 |
#44 在 #pack
360KB
6.5K SLoC
cargo-extras
这是一个针对 cargo 的子命令集合,用于在处理 Rust 源代码和项目时使用。这个存储库和包旨在简化一次性安装所有额外命令的过程。
安装
您可以使用单个 cargo install
命令来安装包含在 cargo-extras
中的所有子命令。
先决条件
由于其中一个子命令需要 cmake
进行构建,您必须在您的系统上安装 cmake
。按照您的操作系统指南安装此包。
主要方法:cargo install
要从 crates.io 安装,只需运行
$ cargo install cargo-extras
或者,您也可以在此存储库的主分支中跟踪最新版本(如果上面的版本徽章不同,此处的 master 分支可能包含尚未发布到 crates.io 版本的最新更新)
$ cargo install --git https://github.com/kbknapp/cargo-extras
要查看现在已安装的所有命令(包括标准 cargo
命令)
$ cargo --list
如果您收到有关找不到 install
命令的错误,或者您正在使用 multirust
1,2,则可以运行
$ multirust run nightly cargo install cargo-extras
注意:自 Rust 1.5 以来,cargo install
命令已包含在内,不再需要使用夜间编译器。因此,如果您收到上述错误,并且使用的是稳定编译器版本,请确保您至少安装了 Rust 1.5
您也可以按照以下说明以传统方式编译和安装。
OSX 特定问题
在 El Capitan 中,存在 openssl-sys
的问题(见 相关问题),可以通过运行以下两个命令来解决(假设您已安装 Homebrew)
$ brew install openssl
$ OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include cargo install cargo-extras
备用方法:编译
按照以下说明编译 cargo-extras
,然后跳到安装部分。
- 确保您已安装当前版本的
cargo
和 Rust - 克隆项目
$ git clone --recursive https://github.com/kbknapp/cargo-extras && cd cargo-extras
- 构建项目
$ cargo build --release
(注意:在未启用优化时编译存在很大的性能差异,因此我建议始终使用--release
启用它们) - 完成后,所有二进制文件都将位于
target/release/
安装
您只需将二进制子命令放在您的 $PATH
中的某个位置。然后在任何项目目录中运行 cargo <command>
。示例
$ cp target/release/cargo-* ~/.bin
在上面的例子中,我主目录下的.bin
目录位于我的$PATH
Linux / OS X
您有两个选择,将cargo-count
放入已经位于您的$PATH
$PATH
添加一个自定义目录。许多人使用$HOME/.bin
来使其隐藏(并不过度占用主目录),或者如果您想使其始终可见,可以使用$HOME/bin
。以下是一个创建目录、将其添加到$PATH
并复制二进制文件的示例。
选项1如果您对$PATH
中列出的任何目录有写入权限或者您有root权限(或者通过sudo
),只需将二进制文件$ cp target/release/cargo-*
复制到该目录即可# sudo cp target/release/cargo-* /usr/local/bin
选项2如果您没有root、sudo
或对$PATH
中任何目录的写入权限,您可以在主目录中创建一个目录并添加它。许多人使用$HOME/.bin
来使其隐藏(并不过度占用主目录),或者如果您想使其始终可见,可以使用$HOME/bin
。以下是一个创建目录、将其添加到$PATH
只需将bin
更改为您想要的目录名,并将.bashrc
更改为您的shell启动文件(通常是.bashrc
、.bash_profile
或.zshrc
)
$ mkdir ~/bin
$ echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
$ cp target/release/cargo-* ~/bin
$ source ~/.bashrc
Windows
在Windows 7/8上,您可以通过以管理员身份打开命令提示符并运行来将目录添加到PATH
变量
C:\> setx path "%path%;C:\path\to\cargo\binaries"
否则,请确保您在命令行中使用的目录中有二进制文件,因为Windows会自动将您的当前目录添加到PATH
(例如,如果您要使用C:\my_project\\
中的cargo-count
打开命令提示符,请确保cargo-count.exe
也在该目录中)。
包含的子命令
cargo-extras
当前包含以下子命令(列出的提交为不使用git tag
的子命令)
- cargo-check v0.1.0 (e602882a3a) - 基于
cargo rustc -- -Zno-trans
的包装器,如果您只需要进行正确性检查,则可以帮助您运行更快的编译 - cargo-config v0.1.1 (d6ad04c593) - 打印有关当前crate的信息
- cargo-count v0.2.1 - 列出cargo项目的源代码数量和详细信息,包括不安全的统计信息
- cargo-do v0.3.1 (b120fce315) - 连续运行多个
cargo
命令 - cargo-edit v0.1.1 (3ae8e70bf1) - 允许您从命令行添加和删除依赖项。安装了
cargo-add
、cargo-rm
和cargo-list
。 - cargo-graph v0.2.0 - 使用GraphViz
dot
构建依赖关系图,是 cargo-dot 的更新分支,并增加了额外的功能 - cargo-open v0.3.0 (c070fb01b5) - 快速在您的
$EDITOR
中打开crate - cargo-outdated v0.1.3 - 显示当Rust依赖项的新版本可用或过时时
- cargo-script v0.1.4 (ccf3f7fbfc) - 允许人们快速轻松地运行Rust "脚本",这些脚本可以利用Cargo的包生态系统
- cargo-vendor v0.1.0 (35d306a) - 一个Cargo子命令的概念证明,用于将所有crates.io依赖项推送到本地目录
- cargo-watch v3.0.1 - 当源代码更改时,为
cargo
编译项目的实用程序
许可证
cargo-extras
在MIT许可证下发布。有关详细信息,请参阅LICENSE-MIT文件。子命令本身可能在不同许可证下发布,请参阅 src 和相关二进制文件,大多数命令都包含许可证文件。
依赖关系
~30MB
~668K SLoC