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

问题描述 投票:0回答:3

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

这是我的代码:

// SPDX-License-Identifier: UNLICENSED

pragma 可靠性 ^ 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

solidity semantic-versioning remix
3个回答
3
投票

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

pragma solidity ^0.8.4.0;

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


2
投票

它也可以在 Remix 中使用,但我曾经处理过在最后没有添加“.0”的情况下工作的合约,现在即使它们也显示此错误。

pragma solidity ^0.8.8.0;

0
投票

如果出现错误,请执行以下操作:pragma Solidity ^0.8.4.0; L'erreur est enfin party!

© www.soinside.com 2019 - 2024. All rights reserved.