我在这个网站上搜索了[rust] "instead of a package manifest"
,没有找到匹配结果。我也读到了虚拟清单here,但没有解决我的问题。
我的目标是对azul进行更改。
为了实现这一点,我在这里阅读了有关修补依赖关系的内容,现在我有了这个Cargo.toml
[package]
name = "my_first_azul_app"
version = "0.1.0"
authors = ["Name <Email>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
azul = { git = "https://github.com/maps4print/azul" }
[patch."https://github.com/maps4print/azul"]
azul = { path = "../azul" }
在路径../azul
中,我已经用git clone
checkout 了阿苏尔项目。在main.rs
中,我已经遵循这个得到,
extern crate azul;
fn main() {
println!("Hello world!");
}
然后我试着测试
$ cargo run
error: failed to resolve patches for `https://github.com/maps4print/azul`
Caused by:
failed to load source for a dependency on `azul`
Caused by:
Unable to update /home/name/projects/azul
Caused by:
found a virtual manifest at `/home/name/projects/azul/Cargo.toml` instead of a package manifest
我不明白最后造成的线。如果我删除[patch]
配置,它就“工作”了。引用,因为它无法编译,但这就是为什么我试图检查出来,并尝试修复。开发azul
依赖项需要支付哪些费用?
TIA,
2条答案
按热度按时间whhtz7ly1#
看起来像阿苏尔正在使用工作区,所以如果你想通过路径引用它,你必须指向该工作区的确切成员。
阿苏尔的货物。toml包含
所以我相信你应该能够做到这样的事情:
你可能需要所有/一些成员在那里。
yhxst69z2#
对于那些因为尝试
cargo install
并得到错误消息而遇到此问题的人:解决方案很简单,只需添加
--path <executable-sub-cratepath>
:对于结构如下的工作区:
这在https://github.com/rust-lang/cargo/issues/7599中跟踪