本文针对的 调试 Solidity 代码的插件为
问题描述
最近在使用 VS Code 编写 solidity 合约的时候,引用 OpenZeppelin 库之后出现了如下错误:
报错为:Expected string literal (path), "*" or alias list.
或者还有可能会出现这样的错误:
报错为:Source "@openzeppelin/contracts/token/ERC721/ERC721.sol" not found: File import callback not supported
解决办法
目前有两种解决办法:
对插件进行设置
在 VSCode 中按快捷键 Ctrl + Shift + P
,在弹出的对话框中输入 settings.json
,选择打开用户设置
在最后一行插入
"solidity.remappingsUnix": ["@openzeppelin/=node_modules/@openzeppelin/"],
"solidity.remappings": ["@openzeppelin/=node_modules/@openzeppelin/"],
保存、重启即可
降低solidity插件版本
如果经过上述设置之后仍不能解决报错的问题,就需要手动降低 Solidity 插件的版本了,目前笔者尝试的不报错的版本为 0.0.135 ,下载链接放在这里:solidity VSCode插件0.0.135文章来源:https://www.toymoban.com/news/detail-784421.html
下载该文件之后,在 VSCode 中按照以下顺序选择从 VSIX 安装插件并选择刚才下载的的插件
安装成功之后点击按钮重新加载 VSCode 即可解决报错问题
文章来源地址https://www.toymoban.com/news/detail-784421.html
到了这里,关于使用VSCode引用OpenZeppelin库编写solidity合约时报错解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!