ESLint:TypeError:this.liboptions.parse不是函数

我在WebStorm 2022.2.1 Build#WS-222.3739.57上开始使用next.JS. 我创建了一个启用了TypeScript的新Next.JS项目,仅此而已。

错误显示如下:

TypeError: this.libOptions.parse is not a function


TypeError: this.libOptions.parse is not a function
at ESLint8Plugin.<anonymous> (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:139:64)
at step (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:44:23)
at Object.next (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:25:53)
at C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:19:71
at new Promise (<anonymous>)
at __awaiter (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:15:12)
at ESLint8Plugin.invokeESLint (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:133:16)
at ESLint8Plugin.<anonymous> (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:120:44)
at step (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:44:23)
at Object.next (C:\Program Files\JetBrains\WebStorm 2022.1.2\plugins\JavaScriptLanguage\languageService\eslint\bin\eslint8-plugin.js:25:53)
Process finished with exit code -1

我的node.JS版本是v16.15.1,eslint版本是8.23.0。

这就是我的DevDependencies的样子。

  "devDependencies": {
"@types/node": "18.7.13",
"@types/react": "18.0.17",
"@types/react-dom": "18.0.6",
"eslint": "8.23.0",
"eslint-config-next": "12.2.5",
"prisma": "^4.2.1",
"typescript": "4.8.2"
}

我的。eslintrc.json文件:

{
"extends": "next/core-web-vitals"
}
65844 次浏览

此问题在WEB-57089中进行跟踪,并在2022.2.2预览生成中修复。

该问题是由ESLINT 8.23中引入的更改引起的(违规上游提交:在GitHub上查看)。将ESLINT降级到8.22.X或更早版本(_ABC_为0)应该会有所帮助。

如果您正在寻找临时解决方案,您可以";固定";__中的ABC_0至8.2 2.0版ABC_1将其设置为:

"eslint": "8.22.0"

在此之后,更新您的项目以返回到8.22而不是8.23,即

  • 删除节点_模块文件夹
  • 清理package-lock.JSON(也将其删除)
  • 运行npm install

或者在一个命令中:

rm -rf node_modules; rm package-lock.json; npm install

希望这个问题能尽快解决。

我在使用ESLINT和网络风暴时也遇到了同样的问题。

以下是解决方案:

yarn add eslint@8.22.0 --save-exact


npm install eslint@8.22.0 --save-exact

我也面临着同样的问题。

这就解决了。

npm install eslint@8.22.0 --save-exact

为我工作:

{
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router": "^6.3.0",
"react-router-dom": "^6.3.0",
"react-scripts": "^4.0.1"
},
"devDependencies": {
"eslint": "8.22.0",
"eslint-plugin-prettier": "^4.0.0",
"prettier": "^2.7.1"
}
}

对我来说,其他解决方案都不起作用。

对2022.2.3版本的简单WebStorm更新解决了这个问题。