SUI Move模块验证失败:旧版本二进制更新问题求助
解决MacOS下SUI旧版本更新失败及Move.toml版本不匹配问题
步骤1:清理旧版本SUI
先卸载已安装的旧版本,避免版本冲突:
- 若通过Cargo安装:
cargo uninstall sui - 若通过Homebrew安装:
brew uninstall sui - 手动清理残留(如果上述命令未成功):
删除~/.cargo/bin下的sui相关二进制文件:rm -f ~/.cargo/bin/sui ~/.cargo/bin/sui-node ~/.cargo/bin/sui-move
步骤2:用正确的Cargo命令安装最新Devnet版本
旧版本的Cargo安装命令因仓库结构变更失效,使用以下命令指定具体包路径:
cargo install --locked --git https://github.com/MystenLabs/sui.git --branch devnet --path crates/sui sui
该命令会直接从Devnet分支拉取代码并编译安装sui二进制。
备选方案:使用官方安装脚本(推荐)
如果Cargo安装遇到网络或依赖问题,用官方一键安装脚本:
curl -SfL https://github.com/MystenLabs/sui/releases/latest/download/sui-install.sh | sh
安装完成后刷新shell环境变量(根据你使用的shell选择):
# Bash用户 source ~/.bashrc # Zsh用户 source ~/.zshrc
步骤3:验证安装成功
执行以下命令确认版本更新:
sui --version
输出应显示当前Devnet的最新版本号。
步骤4:同步Move.toml依赖版本
打开项目的Move.toml文件,更新[dependencies]下的Sui框架依赖,确保与安装的SUI版本一致:
[dependencies] Sui = { git = "https://github.com/MystenLabs/sui.git", branch = "devnet", subdir = "crates/sui-framework/packages/sui-framework" }
步骤5:重新编译Move项目
回到项目目录,执行编译命令:
sui move build
此时应该不会再出现框架版本不匹配的错误。
内容的提问来源于stack exchange,提问作者chia yongkang
相关产品推荐
相关产品推荐

