1

使用 truffle 编译时显示以下错误:

Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.23;
^----------------------^
SyntaxError: Source file requires different compiler version (current compiler is 0.5.0+commit.1d4f565a.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.5.4;
^---------------------^
Compilation failed. See above.
Truffle v5.0.4 (core: 5.0.4)
Node v8.12.0
4

4 回答 4

1

您安装的 truffle 不支持 solidity 编译器 0.5.4,您可以尝试使用 0.4.23 或更高版本的编译器来解决它,pragma solidity >=0.4.23或者升级您的 truffle 支持的编译器(在此链接中提到)

于 2019-02-21T11:25:46.500 回答
0

转到左侧面板下的 VS Code>File>preferences>settings,您会找到扩展名,并在其中找到 Solidity 首选项。那里选择远程。

有了这个文件将开始使用提到的版本

于 2021-08-26T18:13:17.650 回答
0

有些事情你可以做,

  1. 在 VS Code 中打开文件。右键单击 .sol 文件,然后单击“solidity:download compiler”。然后选择与您的合约中使用的solidity 版本相匹配的版本(即写在.sol 文件的顶部)。然后再次右键单击 .sol 文件并选择“solidity:将默认工作区编译器更改为远程,本地,...”。从中选择“localNodeModule”

  2. 再次右键单击 .sol 文件并选择“solidity:将默认工作区编译器更改为远程,本地,...”。从中选择“远程”

于 2021-06-28T13:00:19.967 回答
0

You should declare solidity compiler version in truffle.js file.

  compilers: {
    solc: {
      version: '^0.4.23'
    }
  }
于 2019-03-02T02:36:41.153 回答