You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

当前可稳定运行的Solidity、solc、web3.js、Ganache版本组合咨询

版本兼容性问题原因及稳定组合推荐

报错根因

"VM Exception while processing transaction: invalid opcode"报错核心原因为ganache-cli@6.1.8内置EVM版本过旧:Solidity 0.8.0之后新增了默认算术溢出检查、自定义错误等语法对应的新操作码,6.1.8版本的Ganache无法识别这类操作码,触发执行异常。

经过验证的稳定版本组合

组合1:支持Solidity 0.8.x全特性(首选,适配目前大多数新项目)

  • Solidity: ^0.8.17(0.8.0~0.8.20范围内的版本均可,需和solc版本严格对齐)
  • solc: ^0.8.17(与代码声明的Solidity主版本号保持一致,不可跨大版本)
  • web3.js: ^1.8.2(web3.js 1.x系列最终稳定版,接口兼容性好,不建议直接升级4.x版本)
  • Ganache: ganache@7.9.1(原ganache-cli已合并到ganache包,7.x系列EVM支持到上海升级,完全兼容Solidity 0.8全版本特性)

组合2:兼容旧项目低版本依赖(适合不想大幅调整现有依赖的场景)

  • Solidity: ^0.7.6
  • solc: ^0.7.6
  • web3.js: ^1.6.1
  • ganache-cli: ^6.12.2(ganache-cli 6.x系列最终稳定版,支持Solidity 0.7及之前版本的所有特性)

生效操作步骤

  1. 卸载全局旧版ganache-cli:npm uninstall -g ganache-cli
  2. 安装对应版本Ganache:若使用组合1执行npm install -g ganache@7.9.1,若使用组合2执行npm install -g ganache-cli@6.12.2
  3. 清理项目缓存:删除项目根目录下的node_modules文件夹和package-lock.json/yarn.lock文件
  4. 重新安装项目依赖:执行npm install
  5. 确认合约编译配置:在truffle/hardhat配置文件中指定的Solidity版本与依赖的solc版本完全匹配

内容的提问来源于stack exchange,提问作者user3791111

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:48:01