文章目录
- 问题描述
- 解决办法
- 对插件进行设置
- 降低solidity插件版本
本文针对的 调试 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
下载该文件之后,在 VSCode 中按照以下顺序选择从 VSIX 安装插件并选择刚才下载的的插件
安装成功之后点击按钮重新加载 VSCode 即可解决报错问题