运行npm run start时遇Error [ERR_PACKAGE_PATH_NOT_EXPORTED]错误求助
解决Apache Age Viewer启动时的
ERR_PACKAGE_PATH_NOT_EXPORTED错误 问题成因
错误提示里的Package subpath './v4' is not defined by "exports",是因为webpack-log依赖的旧版uuid导入逻辑(直接引用uuid/v4),和你当前安装的uuid v8+版本不兼容——uuid从v8开始修改了包的导出规则,不再支持这种子路径导入方式,导致Node.js无法找到对应的模块路径。
修复方法
方法一:降级uuid到兼容版本
这是最直接的解决方案:
- 先卸载当前的uuid包:
npm uninstall uuid - 安装v7.x的兼容版本:
npm install uuid@7.0.3 - 重新执行
npm run start启动程序。
方法二:修改webpack-log的导入代码(临时方案)
如果不想降级包,可以直接修改依赖的导入逻辑,但注意node_modules里的文件会在重新install时被覆盖:
- 打开文件
/home/shaheen/Desktop/Demo/age-viewer/frontend/node_modules/webpack-log/src/index.js - 找到第9行的
const uuidv4 = require('uuid/v4');,替换为:const { v4: uuidv4 } = require('uuid'); - 保存后重新启动程序。
方法三:用npm overrides强制指定兼容版本(推荐长期方案)
如果你的npm版本在v8.3及以上,可以通过overrides字段强制让webpack-log使用兼容的uuid版本,避免后续install时覆盖配置:
- 进入frontend目录,打开
package.json文件 - 添加以下配置:
"overrides": { "webpack-log": { "uuid": "7.0.3" } } - 执行
npm install更新依赖 - 重新启动程序。
内容的提问来源于stack exchange,提问作者ShaHeen
相关产品推荐
相关产品推荐

