跳到主内容

Next.js项目报错,ESLint: TypeError: this.libOptions.parse is not a function

· 2分钟阅读

创建 vite 项目,使用 ts 功能模块,当跑项目的时候发现报错了,错误信息如下:

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

先说下我的运行环境,我的 nodejs 版本是 16.15.3,eslint 版本是 8.23.0

项目使用到的依赖如下

"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"
}

经过查阅相关资料,发现错误的最终原因是因为 eslint 版本问题,在 eslint 8.23.x 上就会报错,解决办法就是降级 eslint 版本到 8.22.0,最好的办法就是固定版本,更新 package.json 文件的 eslint 版本为 8.22.0

"eslint": "8.22.0"

接下来常规操作

  1. 删除 node_modules 文件夹
  2. 删除 package-lock.json 文件
  3. 重新安装依赖,npm install

<div className="google-adsense" data-slot="3724551650" />