如何解决: “找不到规则 '@ typescript-eslint/一致类型断言' 的定义”

由于错误,我的 React 应用程序没有编译失败: 没有找到规则 “@ typescript-eslint/一致类型-断言” 的定义

我有点不知所措。我无法在项目中找到任何当前的规则定义。该项目最初是编译的。错误在我重组应用程序后开始。

应用程序无法编译错误: 没有找到规则 “@ typescript-eslint/一致类型断言” 的定义

Packge.json-

{
“姓名”: “客户”,
“版本”: “0.1.0”,
“私人”: 真的,
“依赖关系”: {
“@ Types/react-dom”: “16.9.0”,
“React”: “16.9.0”,
“React-dom”: “16.9.0”,
“React-router-dom”: “^ 5.0.1”,
“反应脚本”: “3.1.1”,
“样式-组件”: “^ 4.3.2”,
“Typescript”: “^ 3.5.3”
},
“脚本”: {
“开始”: “端口 = 3005 反应脚本开始”,
“构建”: “反应脚本构建”,
“测试”: “反应脚本测试 -- transformIgnorePatterns”,
“E2e”: “。/node_modules/。bin/cypress 打开”
},
"EslintConfig": {
“扩展”: “反应应用程序”
},
“浏览列表”: {
【制作】: [
"> 0.2%",
“没有死”,
"不是 op_mini all"
],
“发展”: [
“最后一个 chrome 版本”,
“最后 1 个火狐版本”,
“最后 1 safari 版本”
]
},
“DevDependencies”: {
“@ 测试库/dom”: “^ 6.1.0”,
“@ Test-library/jest-dom”: “^ 4.0.1”,
“@ 测试库/反应”: “9.1.3”,
“@ Types/jest”: “^ 24.0.18”,
“@ Types/lodash”: “^ 4.14.137”,
“@ 类型/节点”: “12.7.2”,
“@ Types/react”: “16.9.2”,
“@ Types/react-router-dom”: “^ 4.3.4”,
“@ 类型/样式-组件”: “^ 4.1.18”,
“巴别塔-玩笑”: “^ 24.9.0”,
"Cypress": "^ 3.4.1"
}
}
第1个答案

当我遇到这个问题时,我使用create-react-app my-app --typescript then copied the dependencies from another project that I had just finished. After messing around with things I noticed that the react-scripts was at version 3.1.1, when I finally got this running again the working package.json had it at 3.1.2 looks like this is the culprit. A working package.json看起来像:

{
“名字”: “我的应用程序”,
“版本”: “0.1.0”,
“私人”: 真的,
“依赖关系”: {
“@ Types/jest”: “24.0.18”,
“@ 类型/节点”: “12.7.5”,
“@ Types/react”: “16.9.2”,
“@ Types/react-dom”: “16.9.0”,
“Node-sass”: “^ 4.12.0”,
“React”: “16.9.0”,
“React-dom”: “16.9.0”,
“反应脚本”: “3.1.2”,
“打字稿”: “3.6.3”
},
“脚本”: {
“开始”: “反应脚本开始”,
“构建”: “反应脚本构建”,
“测试”: “反应脚本测试”,
“弹出”: “反应-脚本弹出”
},
"EslintConfig": {
“扩展”: “反应应用程序”
},
“浏览列表”: {
【制作】: [
"> 0.2%",
“没有死”,
"不是 op_mini all"
],
“发展”: [
“最后一个 chrome 版本”,
“最后 1 个火狐版本”,
“最后 1 safari 版本”
]
}
}

试图让错误消失是一个挑战,Visual Studio 中有一个邪恶的错误会让你的VSCompiler.exe其他服务仅使用服务挂断时的文件版本挂断。不管你做什么,在你重新启动这些之前,什么都不会工作,看看这个答案关于如何解决这个问题的一些建议,我意识到这是为了 Angular,但同样的原则也适用。

第2个答案

我找到了解决办法。 1) 删除 node_modules 2) 将 React-scripts 的 Package.Json 行更新为: “react-scripts”: “3.1.2” 3) 运行 npm i

这应该工作

第3个答案

只是更新react-scripts至版本 3.1.2。我通过卸载并重新安装来解决它。 在命令行中:

卸载:

Npm 卸载反应脚本

并再次安装:

Npm i 反应脚本
第4个答案

我可以通过跑步来解决这个问题yarn install again. If this doesn't work out, you can try to remove the node_modules folder completely and run yarn install再次。

第5个答案

我刚刚在我克隆的创建反应应用程序 git 存储库上发现了这个确切的错误。运行npm install followed by npm start给了我同样的错误信息。

然后我意识到创造者一直在使用纱线而不是 npm。所以我删除了回购,重新克隆并运行yarn install followed by yarn start。已清除错误。

因此,这可能是 npm 与纱线的问题。尤其是当创建反应应用程序将默认为纱线如果您以前安装过它; 如果继续使用 npm,这可能会导致问题?欣赏这是一个不同的情况,因为这是你自己的应用程序,但它可能是相关的。

诚然,我直接遇到了一个不同的错误,但至少我已经取得了进展.

第6个答案

我尝试了之前的所有步骤,但是,实际上解决了我的问题的是这些步骤:

  • 1。-删除 node_modules
  • -删除 package-lock.json
  • 3。-更新包。React-脚本的 json 行: “react-脚本”: “3.1.2”
  • 4。-npm 安装 (或 sudo npm 安装,如果您需要进一步授权)。

我希望它能帮助别人。

相关问题

如何使用使用效果挂钩注册事件? 未知的浏览器 kaios 在 Set间隙中使用 "反应状态" 挂钩时状态不更新 在类实例中跟踪状态 如何解决: “找不到规则 '@ typescript-eslint/一致类型断言' 的定义” 如何将月份值从一个日期对象复制到另一个日期对象?[复制] 对公共类使用共享节点模块 Npm ERR!429 太多请求-获取 https://registry.npmjs.org 塑造-反应--应用程序没有建立起动模板 未使用创建-反应-应用程序提供模板 键入 React 组件的实例数组