You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt 3.2配置ESlint启动报错:找不到ajv相关模块文件

Nuxt 3.2配置ESlint启动崩溃问题

配置信息

package.json

"devDependencies": {
    "@nuxt/eslint-config": "^0.1.1",
    "@nuxtjs/eslint-module": "^4.1.0",
    "eslint": "^8.43.0",
    "nuxt": "3.2.0"
  },

.eslintrc

{
    "extends": ["@nuxt/eslint-config"]
}

nuxt.config.ts

modules: ["@pinia/nuxt", "@nuxtjs/eslint-module"],

报错信息

ERROR  无法启动nuxt:  找不到模块 'ajv/dist/compile/codegen'                                                19:54:58
依赖栈:
- C:\Work\Projects\lims-frontend\node_modules\ajv-keywords\dist\definitions\typeof.js
- C:\Work\Projects\lims-frontend\node_modules\ajv-keywords\dist\keywords\typeof.js
- C:\Work\Projects\lims-frontend\node_modules\ajv-keywords\dist\keywords\index.js
- C:\Work\Projects\lims-frontend\node_modules\ajv-keywords\dist\index.js
- C:\Work\Projects\lims-frontend\node_modules\schema-utils\dist\validate.js
- C:\Work\Projects\lims-frontend\node_modules\schema-utils\dist\index.js
- C:\Work\Projects\lims-frontend\node_modules\eslint-webpack-plugin\dist\options.js                                      19:54:34  
- C:\Work\Projects\lims-frontend\node_modules\eslint-webpack-plugin\dist\index.js

  依赖栈:
  - node_modules\ajv-keywords\dist\definitions\typeof.js
  - node_modules\ajv-keywords\dist\keywords\typeof.js
  - node_modules\ajv-keywords\dist\keywords\index.js
  - node_modules\ajv-keywords\dist\index.js
  - node_modules\schema-utils\dist\validate.js
  - node_modules\schema-utils\dist\index.js
  - node_modules\eslint-webpack-plugin\dist\options.js
  - node_modules\eslint-webpack-plugin\dist\index.js
  at Function.Module._resolveFilename (node:internal/modules/cjs/loader:995:15)
  at Function.Module._load (node:internal/modules/cjs/loader:841:27)
  at Module.require (node:internal/modules/cjs/loader:1067:19)
  at require (node:internal/modules/cjs/helpers:103:18)
  at Object.<anonymous> (node_modules\ajv-keywords\dist\definitions\typeof.js:3:19)
  at Module._compile (node:internal/modules/cjs/loader:1165:14)
  at Object.Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
  at Module.load (node:internal/modules/cjs/loader:1043:32)
  at Function.Module._load (node:internal/modules/cjs/loader:878:12)
  at Module.require (node:internal/modules/cjs/loader:1067:19)

解决方法

方法1:降级ajv到兼容版本

报错根源是ajv-keywords依赖的ajv内部文件路径在新版ajv中已变更,需手动指定兼容版本:

  1. 安装ajv@6.x版本:
npm install ajv@6 --save-dev
  1. 删除node_modules目录和package-lock.json(或yarn.lock)文件
  2. 重新安装所有依赖:
npm install

方法2:改用Nuxt 3推荐的ESlint集成方式

@nuxtjs/eslint-module更适配Nuxt 2,Nuxt 3建议直接通过脚本执行ESlint检查,无需在模块中引入:

  1. 修改nuxt.config.ts,移除@nuxtjs/eslint-module:
modules: ["@pinia/nuxt"],
  1. 在package.json中添加lint脚本:
"scripts": {
  "lint": "eslint .",
  "lint:fix": "eslint . --fix"
}
  1. 执行npm run lint即可完成代码检查,启动项目时不会再出现依赖冲突崩溃问题。

内容的提问来源于stack exchange,提问作者Ayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:35:28