NextJS项目tsx文件出现ESLint originalKeywordKind弃用错误求助
解决ESLint DeprecationError: 'originalKeywordKind' 问题
问题描述
所有.tsx文件抛出ESLint错误:
Parsing error: DeprecationError: 'originalKeywordKind' has been deprecated since v5.0.0 and can no longer be used. Use 'identifierToKeywordKind(identifier)' instead.eslint
周末未对项目做任何改动,项目构建未失败,但所有.tsx文件均触发该报错。
原因分析
你的依赖存在版本不兼容问题:typescript@5.0.4 与 eslint@7.32.0 + eslint-config-next@11.1.2 版本不匹配。TypeScript 5.x 废弃了旧版ESLint依赖调用的originalKeywordKind API,而旧版ESLint配置仍在使用该已移除的方法。
解决方案
方案一:升级ESLint及相关配置到兼容版本
- 卸载旧版依赖:
npm uninstall eslint eslint-config-next - 安装与Next.js 12匹配的兼容版本:
注:选择与你当前npm install eslint@^8 eslint-config-next@^12 --save-devnext@12.1.0匹配的eslint-config-next@12.x版本,避免跨版本冲突。
方案二:降级TypeScript到兼容版本
若不想升级ESLint,可将TypeScript降级至4.x版本:
npm install typescript@^4.9 --save-dev
验证步骤
完成依赖调整后,清理并重新安装依赖:
rm -rf node_modules package-lock.json npm install
重启编辑器或ESLint服务,报错即可消除。
内容的提问来源于stack exchange,提问作者Edoardo Trotta
相关产品推荐
相关产品推荐

