执行npm start时出现ERR_PACKAGE_PATH_NOT_EXPORTED错误,求解决方案
解决 ERR_PACKAGE_PATH_NOT_EXPORTED 错误的方案
错误详情
node:internal/modules/cjs/loader:535 throw e; ^ 错误 [ERR_PACKAGE_PATH_NOT_EXPORTED]:包子路径 './lib/tokenize' 未在 C:\Users\reshn\OneDrive\Desktop\Chat\client\node_modules\postcss-safe-parser\node_modules\postcss\package.json 的"exports"中定义 在 new NodeError (node:internal/errors:393:5) 在 throwExportsNotFound (node:internal/modules/esm/resolve:358:9) 在 packageExportsResolve (node:internal/modules/esm/resolve:668:3) 在 resolveExports (node:internal/modules/cjs/loader:529:36) 在 Module._findPath (node:internal/modules/cjs/loader:569:31) 在 Module._resolveFilename (node:internal/modules/cjs/loader:981:27) 在 Module._load (node:internal/modules/cjs/loader:841:27) 在 e-parser\lib\safe-parser.js:1:17) { code: 'ERR_PACKAGE_PATH_NOT_EXPORTED' } Node.js v18.12.1
这个问题源于postcss-safe-parser与依赖的postcss版本不兼容:新版PostCSS通过package.json的exports字段限制了可直接访问的内部路径,但postcss-safe-parser仍在调用未被导出的./lib/tokenize模块。
试试以下解决办法:
更新postcss-safe-parser到最新版
官方已修复该兼容问题,直接执行命令更新:npm update postcss-safe-parser强制指定兼容的PostCSS版本
如果更新parser后问题仍存在,在项目根目录的package.json中添加resolutions字段(npm用户需先安装npm-force-resolutions工具),强制postcss-safe-parser使用兼容版本:{ "resolutions": { "postcss-safe-parser/postcss": "8.4.21" } }接着执行:
npm install npm-force-resolutions --save-dev npm install清理依赖缓存后重装
缓存可能导致依赖版本混乱,执行以下命令清理后重装:rm -rf node_modules package-lock.json npm cache clean --force npm install降级Node.js版本(备选)
旧版Node.js的模块解析规则更宽松,若不想改动依赖,可尝试降级到Node.js 16.x版本。
内容的提问来源于stack exchange,提问作者Jack Smith
相关产品推荐
相关产品推荐

