遵循Substrate官方教程添加pallet-nicks时出现log版本依赖冲突错误
报错核心原因
这是Cargo依赖版本冲突问题:你引入的pallet-nicks(对应monthly-2021-05标签版本)依赖log v0.4.14,但当前节点模板底层的sc-finality-grandpa组件锁定了log v0.4.13,两个版本要求不兼容导致构建失败。
可执行解决方案
- 方案1:强制指定log版本
在项目根目录的Cargo.toml末尾添加如下配置,强制整个项目使用符合要求的log版本:
添加完成后执行[patch.crates-io] log = { version = "0.4.14" }cargo update -p log更新依赖锁文件即可解决冲突。 - 方案2:对齐依赖版本标签
确认你当前使用的substrate-node-template的git标签,保证引入pallet-nicks时使用的git标签与节点模板的标签完全一致,避免跨版本依赖差异引发冲突。如果你的节点模板版本早于monthly-2021-05,将pallet-nicks的依赖地址修改为和节点模板相同的git标签即可。 - 方案3:清理缓存重试
上述操作后仍报错的话,执行以下命令清理缓存后重新构建:cargo clean rm Cargo.lock
内容的提问来源于stack exchange,提问作者MinLoveSu
相关产品推荐
相关产品推荐

