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

为何@typescript-eslint/parser版本与package.json指定版本不符?

排查@typescript-eslint/parser版本不符问题的关键检查项

首先要明确:你安装的@typescript/parser和报错的@typescript-eslint/parser是两个完全不同的包——前者并非主流依赖(甚至npm上无官方包),后者是ESLint解析TypeScript代码的核心依赖,你的问题大概率是包名混淆或间接依赖拉取了高版本导致的。以下是具体检查方向:

  • 核对package.json的包名与依赖
    确认你的package.json里是否真的需要@typescript/parser,还是安装时笔误写成了这个包名,而实际项目依赖的是@typescript-eslint/parser。如果是笔误,将package.json中的@typescript/parser替换为@typescript-eslint/parser@^5.62.0,再重新执行yarn install。

  • 用yarn命令追踪依赖来源
    执行yarn why @typescript-eslint/parser,这个命令会输出所有依赖该包的上层包,以及它们要求的版本范围。通过结果你能清楚看到是哪个依赖(比如eslint-config-next、某个ESLint插件等)拉取了6.10.0版本的包。同时对比那个能在Node14正常运行的项目的依赖树,看相同依赖的版本是否一致。

  • 检查yarn.lock的版本锁定情况
    git pull后如果yarn.lock被更新,里面记录的实际安装版本会覆盖之前的锁定。对比两个项目的yarn.lock中@typescript-eslint/parser的条目,看你的项目是否没有锁定该包版本,导致每次install都拉取满足依赖范围的最高版本。另外要确认你的项目是否把yarn.lock提交到了git仓库,未提交的话每次pull后重新install都会重新解析依赖。

  • 查看resolutions字段的强制约束
    那个正常运行的项目可能在package.json中配置了resolutions字段,强制将@typescript-eslint/parser锁定为兼容Node14的5.x版本。检查你的项目是否有同样配置:

    "resolutions": {
      "@typescript-eslint/parser": "^5.62.0"
    }
    

    如果没有,添加后执行yarn install即可强制锁定版本。

  • 核对Next.js及相关ESLint依赖版本
    Next.js 12默认依赖的@typescript-eslint系列包版本是5.x,但如果你的项目手动安装了更高版本的eslint或@typescript-eslint/eslint-plugin,可能会触发版本升级。对比正常项目的这些包版本,确保你的项目版本完全一致。

  • 检查yarn与Node版本的一致性
    不同版本的yarn依赖解析逻辑有差异,对比两个项目使用的yarn版本(执行yarn --version),确保版本一致。另外确认项目根目录下是否有.nvmrc等版本配置文件,避免Node版本在安装时被意外切换。

内容的提问来源于stack exchange,提问作者loveloper.dev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 14:33:15