Truffle 出现 You are trying to run dockerized solc

本文详细解析了在使用Truffle框架编译智能合约时遇到的Docker化Solc错误,阐述了如何正确配置truffle-config.js文件,以避免因Docker未安装而导致的编译失败。

问题堆栈


E:\workspace\KnowledgeManagement\BlockChain\Solidity\study\truffle>truffle complie

Compiling your contracts...
===========================
'docker' �����ڲ����ⲿ���Ҳ���ǿ����еij���
�������ļ�
Error: You are trying to run dockerized solc, but docker is not installed.
    at Docker.errors (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\compilerSupplier\loadingStrategies\LoadingStrategy.js:66:1)
    at Docker.validateAndGetSolcVersion (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\compilerSupplier\loadingStrategies\Docker.js:78:1)
    at Docker.load (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\compilerSupplier\loadingStrategies\Docker.js:15:1)
    at CompilerSupplier.load (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\compilerSupplier\index.js:70:1)
    at loadParser (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\profiler\loadParser.js:15:29)
    at asyncFunction (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\profiler\index.js:23:1)
    at Object.required_sources (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\profiler\polycallbackify.js:14:1)
    at hasTargets (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\new\index.js:77:1)
    at new Promise (<anonymous>)
    at AsyncFunction.compile.with_dependencies (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\new\index.js:76:33)
    at compile.necessary (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\compile-solidity\new\index.js:56:1)
    at E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\workflow-compile\new\index.js:52:1
    at async Promise.all (index 0)
    at compile (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\workflow-compile\new\index.js:39:1)
    at Object.compile (E:\softInstall\nodejs\node_global\node_modules\truffle\build\webpack:\packages\workflow-compile\new\index.js:82:52)
Truffle v5.1.44 (core: 5.1.44)
Node v12.18.3

E:\workspace\KnowledgeManagement\BlockChain\Solidity\study\truffle>

出现原因
truffle-config.js 配置文件中

compilers: {
    solc: {
       // version: "0.5.1",    // Fetch exact version from solc-bin (default: truffle's version)
       // docker: true,        // Use "0.5.1" you've installed locally with docker (default: false)
       settings: {          // See the solidity docs for advice about optimization and evmVersion
        optimizer: {
          enabled: false,
          runs: 200
        },
        //evmVersion: "byzantium"
       }
    },
  },

需要将 docker 注释掉,或者为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半山猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值