首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入需要>=0.6.0,但导入的导入为^0.5.0

导入需要>=0.6.0,但导入的导入为^0.5.0
EN

Ethereum用户
提问于 2020-12-18 17:38:17
回答 1查看 475关注 0票数 0

坚实的汇编是一团混乱:皱眉:

我在努力找出为什么我的合同有时会编译,有时不是…现在我明白了,…

我正在使用本地ganache服务器和在线IDE remix.ethereum.org

希望编译该文件:

代码语言:javascript
复制
pragma solidity >=0.6.12;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol";

得到这个错误:

代码语言:javascript
复制
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/GSN/Context.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.6.12+commit.27d51765.Emscripten.clang) - note that nightly builds are considered to be strictly less than the released version pragma solidity ^0.5.0; ^---------------------^

当我查看Context.sol时(在错误弹出窗口上单击“混合”):

代码语言:javascript
复制
pragma solidity ^0.5.0;

在github (在inport链接之后),是否有版本:

代码语言:javascript
复制
pragma solidity >=0.6.0 <0.8.0;

我的导入不应该从自己的路径导入.sol吗?怎么一回事?部署后是否有可能“刷新”混合编译的文件?-我想这就是重点,因为我有另一个使用旧版本的契约。

感谢希望帮助:D

编辑:好的,我发现当我使用与firefox的混合,而不是与chrome一起使用它时,它并没有发生。还有一个libary "github“,openzeppelin里面有我导入的所有合同(只有那个),但不在本地目录中.

EN

回答 1

Ethereum用户

发布于 2020-12-19 00:43:36

目前的openzeppelin合同使用:

代码语言:javascript
复制
pragma solidity >=0.6.0 <0.8.0;

..。所以我不太确定在哪里

代码语言:javascript
复制
pragma solidity ^0.5.0;

实际上是来自。你可以在这里看到:https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/GSN/Context.sol

..。这与您所使用的其他文件的版本不同。这可能是pragma在做它的工作,并提醒您有什么不对劲的情况。

希望能帮上忙。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/91270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档