You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AdonisJS 5部署时报ERR_PACKAGE_PATH_NOT_EXPORTED未处理Promise错误如何解决

问题根因定位

你遇到的ERR_PACKAGE_PATH_NOT_EXPORTED是核心错误,上层的UnhandledPromiseRejectionWarning只是该错误未被异步捕获的触发告警,无需单独处理,解决包导出错误即可。该错误在单台服务器复现、另一台正常,通常由环境差异导致:

  • 两台服务器Node.js版本不匹配,AdonisJS 5要求Node.js版本≥14.17.0,过高或过低的Node版本对package.json的exports字段校验逻辑不同,会触发该异常
  • 部署时未使用版本锁文件安装依赖,导致拉取了与正常运行环境版本不一致的@adonisjs/core包,新版包的exports字段未开放./package.json的导出路径

解决步骤

  1. 对齐Node.js版本
    查看正常运行服务器的Node版本,将故障服务器Node版本切换至完全一致的版本:
# 查看当前Node版本
node -v
# 推荐使用nvm进行多版本管理切换
  1. 使用锁文件安装依赖
    将正常运行环境对应的package-lock.json或yarn.lock同步到故障服务器,执行对应命令安装完全一致的依赖版本,避免自动升级到不兼容版本:
# 使用npm的情况
npm ci
# 使用yarn的情况
yarn install --frozen-lockfile
  1. 临时兼容方案
    如果需要快速修复验证,可手动修改node_modules/@adonisjs/core/package.json中的exports字段,新增一行导出规则:
{
  "exports": {
    "./package.json": "./package.json",
    // 原有其他导出规则保留
  }
}

附加说明

  • 出现的[DEP0018]弃用警告、UnhandledPromiseRejectionWarning告警均为核心错误未被捕获的衍生提示,根因修复后会自动消失,无需单独处理
  • node --trace-warnings、--unhandled-rejections=strict等Node参数仅用于调试未捕获Promise的触发链路,无法解决本次的包导出错误,无需额外配置

内容的提问来源于stack exchange,提问作者Hkm Sadek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 03:15:05