cargo 基本用法

Wed Nov 30 2022 · 10min

nodejs里把一个包叫做package, 所以我们有npm(node package manager), 同样rust把一个包称作crate(木箱),使用cargo(集装箱)来进行管理

cargo new

$ cargo new hello_world --bin

  • –bin 创建命令工具的时候传入
  • –lib 创建library
  • –vcs none 则不会创建git,默认会创建

目前看bin目录和library的目录没啥区别

cargo build

会生成可执行程序, 生成target文件夹,

./target/debug/<manifest_name> # 多次修改name名 好像不会覆盖之前的,不晓得为啥这么设计 cargo clean才会清除

cargo build -r  # 会生成release版本,相应的可执行程序在./target/release/下

所以调试基本就很简单了,改完代码build以下,然后执行编译过后的bin命令即可

查看本地项目依赖关系

cargo tree

查看某个crate的最新版本

cargo search <crate_name>

更新本地依赖

cargo update

# 更新指定包到最新版本
cargo update -p <crate_name>

发布包

cargo publish

# 发布指定包
cargo publish -p <crate_name>

升级全局 bin crate

cargo install -f <crate_name>
# 升级包到指定版本
cargo install -f <crate_name> --version <version>

本地项目安装依赖

cargo add <crate_name>