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

8

我刚接触 Solidity,并在 Remix 上运行代码。

不管指定哪个版本的编译器,我都一直收到相同的错误提示。

有人可以帮忙吗?"Compiler version ^0.8.0 does not satisfy the r semver requirement" 是什么意思?

以下是我的代码:

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^ 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;
}

} This is my screenshot

2个回答

3

我曾经遇到过同样的问题。在Remix中,我将编译器版本添加了“.0”:

pragma solidity ^0.8.4.0;

我在Visual Studio Code中也遇到了这个问题,但我只是忽略它,一切正常。希望这能帮到你!


2

这个方法在Remix中同样有效,但我曾经处理过不需要在最后添加“.0”的合约,现在甚至它们也显示这个错误。

pragma solidity ^0.8.8.0;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接