错误:编译器版本 ^0.8.0 不满足 r semver 要求

김예군*_*김예군 8 semantic-versioning solidity remix

我是 Solidity 新手,正在 Remix 上运行代码。无论我指定什么版本的编译器,我都会不断收到相同的错误。有人可以帮我吗?“编译器版本 ^0.8.0 不满足 r semver 要求”到底是什么意思?

这是我的代码:

// SPDX-License-Identifier: UNLICENSED
Run Code Online (Sandbox Code Playgroud)

编译指示可靠性 ^ 0.8.0;

合约存储{

struct People {
    uint256 favoriteNumber;
    string name;
}

mapping(string => uint256) public nameToFavoriteNumber;
People[] public people;

function addPerson(uint _personFavoriteNumber, string memory _personName ) public {
    people.push(People({favoriteNumber: _personFavoriteNumber, name: _personName}));
    nameToFavoriteNumber[_personName] = _personFavoriteNumber;
}
Run Code Online (Sandbox Code Playgroud)

} 这是我的截图

小智 3

我有过几次同样的问题。在 Remix 中,我向编译器版本添加了“.0”,如下所示:

pragma solidity ^0.8.4.0;
Run Code Online (Sandbox Code Playgroud)

我在 Virtual Studio 代码中也遇到了这个问题,但我只是忽略了它,一切正常。我希望这有帮助!