引用外部库
声明一个外部库的依赖, 可以有以下几种形式.
最简单的是使用 crates.io
库里的 crates, 至少指定名称及版本号:
[dependencies]
rand = "3.1"
可以使用 cargo add rand
命令, 把 rand
库加入到 Cargo.toml
;
也可以使用文本编辑器手动输入这些内容.
或者一个自定义的 git 仓库:
[dependencies]
rand = { git = "https://github.com/rust-lang/rand", branch="master" }
可以指定 git 仓库的分支名, 版本号, 以及 commit id 等, 可用于定位特定的提交.
也可以是本地的一个路径, 比如将一个大仓库拆成几个小库, 都还放在同一个根目录里:
[dependencies]
hello_utils = { path = "hello_utils" }
build.rs
可以使用 [build-dependencies]
里定义的依赖.
examples
, tests
以及 benches
可以 使用 [dev-dependencies]
以及 [dependencies]
里定义的依赖.
src
目录里的代码, 只能使用 [dependencies]
里定义的依赖.
更新依赖包
手动更新依赖包到新版本:
$ cargo update # 更新所有依赖包
$ cargo update -p rand # 只更新 rand 包
这里, 只会更新 Cargo.lock
, 根据 Cargo.toml
中定义的依赖包的版本, 而不会触动
Cargo.toml
本身. 如果需要更新 Cargo.toml
依赖里的版本, 要么手动去修改, 要么
使用 cargo-upgrade
这个扩展, 自动将它们更新到最新版.
$ cargo upgrade