我如何在Cargo中更新git依赖项?

7

我在 Cargo.toml 中使用 Git URL 引用 Rust 库的依赖项,就像这样:

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

现在我已经改变了git仓库,并想要更新我的当前项目所依赖的组件。我尝试使用以下命令:

cargo install rust_wheel --force

但是它显示了这个错误:

error: there is nothing to install in `rust_wheel v0.1.0`, because it has no binaries
`cargo install` is only for installing programs, and can't be used with libraries.
To use a library crate, add it as a dependency in a Cargo project instead.

我尝试在Clion中刷新货物依赖项,但没有成功。我该怎么做才能更新依赖项?还尝试过命令cargo update rust_wheel


3
cargo install是用于全局安装可运行二进制文件的命令,而不是操作当前项目的依赖关系。 (npm 是这样做的,对吗?我觉得这很奇怪。) cargo update 应该就可以了。但是如果您想确保拥有最新版本,可以指定 rev="ba9d9ebed10fa5e213ec5a0845dab534225fa0a0" - Caesar
1个回答

15

每当在指定来自git存储库的依赖项而没有其他限定符(即通过属性revtagbranch),这意味着它被指定为该存储库主分支的最新版本。但是,在任何情况下,更新任何依赖项都需要更新项目的Cargo.lock文件。这通常意味着使用cargo update命令。

cargo update

这也将检测版本或原始要求的任何更改,并相应地更新依赖项锁定。

我尝试使用这个命令:cargo install rust_wheel --force

这是错误的 Cargo 命令。 cargo install 用于将二进制文件安装到系统中,而不是安装依赖项。 这也被充分记录了。

还尝试过cargo update rust_wheel

语法错误。若要更新特定依赖项,请使用-p选项。

cargo update -p rust_wheel

另请参阅:


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