为啥会出现错误:在 truffle 上编译时找不到导入

Posted

技术标签:

【中文标题】为啥会出现错误:在 truffle 上编译时找不到导入【英文标题】:Why do I get the error: Could not find import, when compiling on truffle为什么会出现错误:在 truffle 上编译时找不到导入 【发布时间】:2020-07-27 15:01:06 【问题描述】:

所以,我正在尝试在 truffle 中编译一些开放的 zeppelin ERC20 合约,但出现以下错误:

错误:错误:找不到 从任何来源进口;从 C:/Users/Angel/Documents/blockchain course/ethereum game/solidity/contracts/GameToken.sol 导入 在 Object.compile (C:\Users\Angel\AppData\Roaming\npm\node_modules\truffle\build\webpack:\packages\workflow-compile\legacy\index.js:72:1)

令牌文件:

迁移文件:

有什么想法吗?谢谢!

【问题讨论】:

【参考方案1】:

关于documentation,正确的导入是

import "@openzeppelin/contracts/token/ERC721/ERC721Full.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721Mintable.sol";

【讨论】:

当我从openzeppelin-solidity -> @openzeppelin 切换库时,唯一的区别是错误抱怨的 pat。现在得到Could not find @openzeppelin/contracts/token/ERC20/ERC20Detailed.sol from any sources【参考方案2】:

有兴趣的可以去openzeppelin论坛提问,找到解决办法:

https://forum.openzeppelin.com/t/could-not-find-import-from-any-sources-error/2656/5

【讨论】:

以上是关于为啥会出现错误:在 truffle 上编译时找不到导入的主要内容,如果未能解决你的问题,请参考以下文章

当我在此页面中声明方法时,为啥此代码会出现“找不到符号”错误?

在 MacOS 上编译 C/C++ 代码

为啥在 regex char 可选时找不到匹配项

为啥致命错误:安装 PyYAML 时找不到“yaml.h”文件?

为啥使用 Origin 标头时找不到路由

为啥使用 RDP 时找不到远程 SmartCard