为什么没有获取最新版本的依赖项?

Why weren't the newest version of dependencies fetched?

我在 Rust 项目中添加了这样的依赖项:

rust_wheel = { git = "https://github.com/jiangxiaoqiang/rust_wheel.git" }

当我在 GitHub Actions 中构建这个项目时,我发现它得到了 rust_wheel 的遗留版本:

   Compiling rust_wheel v0.1.0 (https://github.com/jiangxiaoqiang/rust_wheel.git#5dffd2f5)
error[E0412]: cannot find type `Json` in module `content`
  --> /usr/local/cargo/git/checkouts/rust_wheel-8476ff1b418e67f8/5dffd2f/src/common/util/model_convert.rs:35:50
   |
35 | pub fn box_rest_response<T>(data: T) -> content::Json<String> where T: Serialize + Default {
   |                                                  ^^^^ not found in `content`
   |
help: consider importing one of these items
   |
1  | use diesel::pg::types::sql_types::Json;

GitHub Actions 获得了版本 5dffd2f5,但 rust_wheel 的最新版本是 52bccd9a4a3ece5cf9416510b7f8a4274d205da1。为什么没有得到最新的?我应该怎么做才能让它获得最新版本的依赖项?

您可能有一个 Cargo.lock 文件,该文件旨在通过跟踪您正在使用的特定版本来防止在您眼皮底下更新依赖项。如果您要使用的 git 存储库中有更改,您可以使用 cargo update:

更新 Cargo.lock 文件
cargo update -p rust_wheel

另一种选择是明确定义要在 Cargo.toml:

中使用的修订
rust_wheel = { git = "https://github.com/jiangxiaoqiang/rust_wheel.git", rev = "52bccd9a" }