不支持文件导入回调?

Posted

技术标签:

【中文标题】不支持文件导入回调?【英文标题】:File import callback not supported? 【发布时间】:2021-07-23 01:01:14 【问题描述】:

试图运行:

1.) Dappuniversity 项目 (dappuniversity/dbank) 2.) 宠物店教程

Truffle v5.3.3(核心:5.3.3) 节点 v14.15.5

当 Truffle 要求它的编译器/solc 匹配 5.3.3 时,ser 如何在 0.8.4 编译代码以导入 OpenZeppelin 的 ERC20.sol 模板?

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.4;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract Token is ERC20 

  //add minter variable

  //add minter changed event

  constructor() public payable ERC20("Name", "Symbol") 

    //asign initial minter

  

  //Add pass minter role function

  function mint(address account, uint256 amount) public 

    //check if msg.sender have minter role

    _mint(account, amount);

  


找不到源“@openzeppelin/contracts/token/ERC20/ERC20.sol”:不支持文件导入回调

【问题讨论】:

运气好吗?同一条船在这里 尝试删除构建工件(.json 文件)并再次运行命令。 【参考方案1】:

错误:Source "@openzeppelin/contracts/token/ERC20/ERC20.sol" not found: File import callback not supported

第 1 步:

安装 Solidity 扩展

第二步:

右键单击错误。 选择“更改默认工作区...”

第三步:

选择localNodeModule 可能需要重新启动 IDE

【讨论】:

也不适合我【参考方案2】:

ERC20 文件需要其他文件

pragma solidity ^0.8.0;

import "./IERC20.sol";
import "./extensions/IERC20Metadata.sol";
import "../../utils/Context.sol";

不清楚你是否正确安装了 OpenZeppelin。

【讨论】:

【参考方案3】:

安装任何缺少的依赖项并将它们添加到您的package.json。 请注意,某些包,例如 @chainlink/contracts 需要使用 yarn,因为它们使用 yarn 工作区

npm ERR! Error: Please use yarn to install dependencies

例如:

yarn add @chainlink/contracts

但是,我没有让它适用于包含@version 标签的包,因为导入路径与node_modules 中的任何文件夹都不匹配。

npm i @openzeppelin/contracts@4.4.0

当我从路径中删除版本时,错误消失了,但我不知道这是多么合法。 尽管¯\(ツ)

它仍然可以编译

【讨论】:

【参考方案4】:

对我(运行 Win 10)来说,当我清除 VSCode solidity 扩展中的设置时,此错误已解决。

扩展菜单 --> 右键单击​​ Juan Blanco 的 Solidity --> 扩展设置 --> 滚动到“Solidity:Package Default Dependencies Contracts Directory” --> 删除默认值

默认值是指向错误的路径。

https://github.com/juanfranblanco/vscode-solidity/issues/178

【讨论】:

以上是关于不支持文件导入回调?的主要内容,如果未能解决你的问题,请参考以下文章

Python / ImportError:不支持按文件名导入[重复]

导入阶段的 UNO IllegalArgument:无法读取源文件。 URL 似乎不受支持

Netezza 从外部文件导入错误:不支持的外部表引用,无法导出形状

phpMyAdmin 不加载压缩不支持的数据库导入文件 (application/gzip)

hive数据导入:文件导入

unity怎么导入maya动画