我是 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;
}
我遇到过几次同样的问题。在 Remix 中,我在编译器版本中添加了“.0”,如下所示:
pragma solidity ^0.8.4.0;
我也在 Virtual Studio 代码中遇到了这个问题,但我只是忽略了它,一切都工作正常。我希望这有帮助!
它也可以在 Remix 中使用,但我曾经处理过在最后没有添加“.0”的情况下工作的合约,现在即使它们也显示此错误。
pragma solidity ^0.8.8.0;
如果出现错误,请执行以下操作:pragma Solidity ^0.8.4.0; L'erreur est enfin party!