TypeError: this.libOptions.parse is not a function
回答 6
浏览 5.2万
2022-08-27
我在 WebStorm 2022.2.1 Build #WS-222.3739.57 上开始使用 Next.js。我创建了一个新的 Next.js 项目,启用了 TypeScript,仅此而已。
该错误显示在下面。
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"
}
6 个回答
#1楼
已采纳
得票数 259
该问题在WEB-57089中被跟踪,并且在2022.2.2preview build中被修复。
这个问题是由ESLint 8.23中引入的变化引起的(违规的上游提交:在GitHub上查看)。将ESLint降级到8.22.x或更早的版本(用npm install eslint@8.22.0 --save-exact
)应该有帮助。
苹果硅的链接中的预览版到现在为止还没有工作。修复:在URL中添加
-cdn
。download-cdn.jetbrains.com/webstorm/…
- Avner Israel 2022-09-08
这不仅仅发生在ESLint 8.23版本中,我在ESlint 8.19版本中也看到了这一现象。
- Michael Trouw 2022-09-15
2022.2.2现在已经作为稳定版发布了。
- fgblomqvist 2022-09-21
#2楼
得票数 84
如果你正在寻找一个临时的解决方案,你可以在你的package.json
中"pin"ESLint
版本为8.22.0,将它设置为。
"eslint": "8.22.0"
之后更新你的项目,回到8.22而不是8.23,也就是说。
- 删除 node_modules 文件夹
- 清理package-lock.json(把它也去掉)。
- 运行
npm install
。
或在一个命令中。
rm -rf node_modules; rm package-lock.json; npm install
希望这个问题能尽快得到解决。
或一个稍短的单行字。
rm -fr node_modules package-lock.json; npm install
- Jordan Pickwell 2022-09-14
#3楼
得票数 18
我在使用ESLint和WebStorm时,也遇到了同样的问题。
这里是解决方案。
yarn add eslint@8.22.0 --save-exact
npm install eslint@8.22.0 --save-exact
#4楼
得票数 5
对我来说,其他的解决方案并不奏效。
简单地将WebStorm更新到2022.2.3版本就解决了这个问题。
#5楼
得票数 4
我也面临着同样的问题。
这就解决了这个问题。
npm install eslint@8.22.0 --save-exact
#6楼
得票数 0
对我来说是有效的。
{
"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"
}
}