NPM monorepo中TypeScript升级后版本仍显示4.9.5的问题
解决NPM Workspaces Monorepo中TypeScript版本显示不一致问题
排查与修复步骤:
检查依赖树与声明一致性
执行npm ls typescript查看整个monorepo的依赖树,确认是否有间接依赖引入了4.9.5版本的TypeScript。同时确保根目录package.json的devDependencies中明确指定了TypeScript v5版本——NPM Workspaces会优先解析根依赖的版本声明。清理缓存并重新安装
- 执行
npm cache clean --force清除本地npm缓存,避免旧版本包残留。 - 删除根目录的
node_modules和package-lock.json,重新运行npm install。
- 执行
强制锁定TypeScript版本
在根目录package.json中添加overrides字段(npm 8+支持),强制所有依赖使用指定的TypeScript v5版本:"overrides": { "typescript": "^5.0.0" }此配置会覆盖所有间接依赖的TypeScript版本,避免旧版本被意外引入。
排查全局TypeScript干扰
执行which tsc(Linux/macOS)或where tsc(Windows),检查是否存在全局安装的TypeScript 4.9.5。如果有,执行npm uninstall -g typescript卸载全局版本,再重新测试npx tsc --version。验证ESLint依赖兼容性
确保@typescript-eslint/eslint-plugin、@typescript-eslint/parser和@typescript-eslint/typescript-estree的版本支持TypeScript v5(建议升级到v6.x及以上版本),旧版本的这些依赖可能会误报TS版本或强制依赖旧版TS。
内容的提问来源于stack exchange,提问作者cyrf
相关产品推荐
相关产品推荐

