TS导入@metaplex/js子路径报Cannot find module,修改tsconfig无效求助
解决方案
该问题由@metaplex/js npm包的发布目录结构与类型定义路径不匹配导致:IDE仅读取类型声明文件可正常定位模块,但Node运行时会按照实际文件路径查找,找不到对应聚合文件就会抛出MODULE_NOT_FOUND错误,与你配置的tsconfig无关。
可按照优先级尝试以下可行方案:
- 方案1:直接从根包导入Edition,无需使用深层路径
替换导入语句为:
Edition已包含在根包的默认导出中,不需要单独从metadata程序路径导入。import { Account, Edition } from '@metaplex/js'; - 方案2:补全完整的真实文件路径
如果你确实需要从metadata程序路径下导入其他模块,可直接使用报错提示的完整路径:import { Edition } from '@metaplex/js/lib/programs/metadata/accounts/Edition'; - 方案3:更换为稳定版本的@metaplex/js
如果你使用的是最新测试版本,存在导出异常问题,可卸载当前版本后安装4.12.0稳定版:
该版本的导出路径与类型定义完全对齐,不会出现路径不匹配的问题。npm uninstall @metaplex/js npm install @metaplex/js@4.12.0
内容的提问来源于stack exchange,提问作者ilmoi
相关产品推荐
相关产品推荐

