错误E0412:在导入tokio::sync时使用未声明的crate或模块' tokio '



在我的rust项目中,cargo抱怨使用tokio::sync:

时使用的类型不在作用域中。
use tokio::sync::RwLock;
|     ^^^^^ use of undeclared crate or module `tokio`

,但它显然在范围内:

use tokio::sync::RwLock;
#[derive(Deserialize, Serialize)]
pub struct MyStruct {
some_field: RwLock<SomeType>
}

根据文档,同步模块只有在启用sync特性标志后才可用,我已经显式和隐式地完成了这一点:

tokio = { version = "0.3", features = ["macros", "sync"] }
tokio = { version = "0.3", features = ["full"] }

但是两者都不行

我没有注意到我在dev-dependencies下只有tokio,这就是为什么cargo不能编译这个项目的原因。