我正在尝试将 TypeScript 集成到我用 CRA 创建的 React 项目中。 我一直有以下错误:
Line 0: Parsing error: DeprecationError: 'originalKeywordKind' has been deprecated since v5.0.0 and can no longer be used. Use 'identifierToKeywordKind(identifier)' instead
我已尝试更新
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
按照几个地方的建议升级到 v6,但它没有解决问题。
这是部分package.json:
"dependencies": {
"@emotion/react": "^11.10.5",
"@emotion/styled": "^11.10.5",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "^13.3.0",
"@testing-library/user-event": "^13.5.0",
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
"env-cmd": "^10.1.0",
"eslint": "^8.56.0",
"node-sass": "^8.0.0",
"papaparse": "^5.4.1",
"react": "^18.1.0",
"react-dom": "^18.1.0",
"react-dropzone": "^14.2.3",
"react-router-dom": "^6.3.0",
"react-scripts": "5.0.1",
"sass": "^1.52.1",
"sass-vars-to-js-loader": "^2.1.1",
"web-vitals": "^2.1.4"
},
"devDependencies": {
"@types/react": "^18.2.46",
"@types/react-dom": "^18.2.18",
"@typescript-eslint/eslint-plugin": "^6.18.0",
"@typescript-eslint/parser": "^6.18.0",
"prettier": "^2.8.0",
"typescript": "^5.3.3"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
通过升级到 typescript-eslint@6 解决了这个问题。请参阅 解析错误:DeprecationError:'originalKeywordKind' 自 v5.0.0 起已被弃用,无法再使用。 如果您仍然看到此错误,则意味着在您安装的软件包中的某个位置,存在较旧的 typescript-eslint 版本。尝试:
所有提到 ESLint 和/或 TypeScript 的包的碰撞版本
node_modules/
package-lock.json
pnpm-lock.yaml
、yarn.lock
等)并重新安装
overrides
或等效功能 - 以确保锁定文件中提到的所有 typescript-eslint 包都设置为 v6。但这确实没有必要。大多数时候,这个问题是由过时的软件包引起的。