执行cargo build --release编译Substrate-node-template失败如何修复?
编译报错修复步骤
- 校验Rust工具链版本是否匹配,执行
rustup show确认当前使用的nightly版本与Substrate节点版本兼容,不匹配可直接执行rustup show触发源码根目录rust-toolchain.toml指定版本的自动安装,也可手动执行rustup override set 兼容版本号指定对应版本。 - 清理编译缓存与依赖缓存,执行
cargo clean清除当前项目的已编译产物,再清除全局crates索引缓存,避免旧缓存导致的依赖冲突。 - 更新依赖版本,执行
cargo update将所有依赖升级至Cargo.lock允许的最新兼容版本,解决依赖版本不匹配问题。 - 确认系统依赖完整:
- Debian/Ubuntu类系统执行
sudo apt install build-essential git clang curl libssl-dev llvm libudev-dev make protobuf-compiler安装全量依赖 - macOS系统安装Homebrew后执行
brew install openssl protobuf llvm安装对应依赖 - Windows系统需先安装Visual Studio 2022社区版桌面开发C++组件,再通过包管理器安装llvm、protobuf、openssl包。
- Debian/Ubuntu类系统执行
- 若为WASM编译类报错,执行
rustup target add wasm32-unknown-unknown添加WASM编译目标后重新执行cargo build --release即可。
内容的提问来源于stack exchange,提问作者Cuong Nguyen
相关产品推荐
相关产品推荐

