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

加载指定版本Solidity编译器遇「Error retrieving binaries:not found」问题求助

解决solc.loadRemoteVersion「Error retrieving binaries : not found」报错

常见原因及修复方案

  • 版本格式不规范:solc.loadRemoteVersion要求版本号必须带v前缀(如v0.8.20),或者使用完整的commit哈希值。直接写0.8.20这种无前缀格式会导致CDN寻址失败。
  • 网络访问限制:该方法默认从Solidity官方CDN拉取编译器二进制文件,如果你的Node.js服务器无法访问外部CDN,就会触发找不到文件的错误。
  • 本地手动部署旧版本:
    1. 先通过npm单独安装目标版本:npm install solc@<具体版本号>,比如npm install solc@0.8.19。
    2. 安装完成后,通过本地加载方式调用:
      const solc = require('solc');
      solc.loadLocalVersion('0.8.19', (err, solcInstance) => {
        if (err) {
          console.error(err);
          return;
        }
        // 在这里使用solcInstance处理编译逻辑
      });
      
  • 版本下线问题:部分极旧的Solidity版本已从官方CDN移除,无法通过loadRemoteVersion拉取,必须本地安装对应版本才能使用。

额外提示

  • 确认Node.js版本与目标solc版本兼容,部分旧版solc不支持最新Node.js环境。
  • 若服务器有严格网络管控,可提前下载对应版本的solc二进制文件到项目目录,通过solc.setSolcPath('./path/to/solc')指定路径后再加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 00:00:56