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

使用Truffle编译合约时无法获取Solidity编译器求助

解决方案:Truffle编译时无法获取Solidity编译器

错误场景

执行命令:

jaypatel@192 Bridge Contract % truffle compile

报错信息:

正在编译合约...
错误信息:无法从指定地址获取Solidity编译器。您是否已连接互联网?

解决步骤

  • 检查网络连通性
    尝试直接访问编译器源地址,确认网络是否能正常访问这些资源。若无法访问,排查防火墙、代理设置,或切换至其他网络(如手机热点)。

  • 手动安装对应版本的Solidity编译器
    若网络正常但自动下载失败,通过npm手动安装合约所需版本的solc,例如你的合约使用0.8.20版本:

    npm install solc@0.8.20 --save-dev
    

    Truffle会优先使用本地安装的编译器版本,无需再从远程下载。

  • 配置Truffle指定编译器版本
    在项目根目录的truffle-config.js中明确指定solc版本,确保Truffle无需自动匹配下载:

    module.exports = {
      compilers: {
        solc: {
          version: "0.8.20", // 替换为你的合约使用的Solidity版本
          settings: {
            optimizer: {
              enabled: true,
              runs: 200
            }
          }
        }
      }
    };
    
  • 清理Truffle缓存
    删除项目下的.truffle缓存目录,再重新执行truffle compile,避免缓存损坏导致的下载异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:20:40