Node.js运行报ERR_PACKAGE_PATH_NOT_EXPORTED错误怎么解决?
问题根因
该ERR_PACKAGE_PATH_NOT_EXPORTED错误由Node.js版本与依赖版本不兼容触发:Node.js v14+开始对package.json的exports字段做强制路径校验,PostCSS v8+版本的exports配置未对外暴露./lib/tokenize内部路径,而项目中安装的低版本postcss-safe-parser仍然直接引用该未导出路径,因此触发报错。
排查步骤
- 查看项目中
postcss-safe-parser的安装版本,执行命令:npm list postcss-safe-parser - 查看项目中PostCSS的安装版本,确认是否为v8.x版本,执行命令:
npm list postcss
解决方案
按优先级从高到低选择以下方案:
- 升级
postcss-safe-parser到最新适配版本
最新版postcss-safe-parser已经修复了内部路径引用问题,适配PostCSS 8.x,执行安装命令:npm install postcss-safe-parser@latest --save-dev - 降级PostCSS到7.x版本
如果项目有其他依赖限制无法升级postcss-safe-parser,可以降级PostCSS到无exports字段限制的7.x版本:npm install postcss@7.x --save-dev - 临时跳过exports校验(仅做临时验证,不推荐长期使用)
启动项目时添加Node.js参数关闭exports校验,比如修改package.json的启动脚本:"scripts": { "start": "node --no-experimental-specifier-resolution=node 你的启动文件路径.js" }
内容的提问来源于stack exchange,提问作者Masum Ali
相关产品推荐
相关产品推荐

