如何修复ERR_PACKAGE_PATH_NOT_EXPORTED: package.json无exports主字段错误
Error [ERR_PACKAGE_PATH_NOT_EXPORTED] 报错修复方案
根因说明
- Node.js版本不满足要求:discord-api-types v0.30.0及以上版本仅支持Node.js 16.9.0+,低版本Node无法识别package.json的
exports字段规则,会误判不存在主入口 - 依赖版本不兼容:discord.js已内置适配自身版本的discord-api-types,手动单独安装的discord-api-types大概率和当前discord.js版本不匹配
- 导入语句错误:新版本discord-api-types未导出根路径入口,直接写
require('discord-api-types')/import from 'discord-api-types'会触发报错
修复步骤
- 校验Node.js版本
执行node -v查看版本,若低于16.9.0,直接升级到Node.js LTS最新版 - 清理不匹配的依赖
执行npm uninstall discord-api-types删除手动安装的discord-api-types,随后删除项目根目录下的node_modules文件夹和锁文件(package-lock.json/yarn.lock/pnpm-lock.yaml) - 重新安装依赖
执行npm install拉取匹配版本的依赖包 - 修正导入语句(如果有手动导入discord-api-types的需求)
不要导入根路径,指定对应API版本的子路径即可,示例:// ESM写法 import * as DiscordAPITypes from 'discord-api-types/v10' // CommonJS写法 const DiscordAPITypes = require('discord-api-types/v10')
验证
重新启动机器人,报错即可消失。
内容的提问来源于stack exchange,提问作者killrebeest
相关产品推荐
相关产品推荐

