AlloyTeam / eslint-config-alloy

Progressive ESLint config for your React/Vue/TypeScript projects
https://alloyteam.github.io/eslint-config-alloy/
2.65k stars 316 forks source link

alloy config报错找不到@babel/eslint-parser #198

Closed nonusx closed 2 years ago

nonusx commented 3 years ago

按照介绍进行了配置,只是把npm换成了yarn,配置好后,vscode就开始报错:

ESLint: Failed to load parser '@babel/eslint-parser' declared in '.eslintrc.js » eslint-config-alloy » ./base.js': Cannot find module '@babel/eslint-parser' Require stack: - /Users/xuhuading/Documents/browser-parser/node_modules/eslint-config-alloy/base.js. Please see the 'ESLint' output channel for details.
nonusx commented 3 years ago

image

image

xcatliu commented 3 years ago

奇怪,你这不是安装了 @babel/eslint-parser 么?

loveloki commented 3 years ago

node v16.9.1 同样遇见这个问题,切换到 14.17.5 没有报错,好奇怪,目前先使用 v14

oevery commented 2 years ago

yarn add @babel/core -D 试试

kyriejoshua commented 2 years ago

我也遇到了类似问题,在 ts 的 react 项目中,而且在 node v16 和 v14 下都有。是 ts 用到的这个,@typescript-eslint/parser 找不到,但实际是安装了的。

package 内版本

"@babel/eslint-parser": "^7.16.3", "@typescript-eslint/eslint-plugin": "^5.5.0", "@typescript-eslint/parser": "^5.5.0", "eslint": "^7.32.0", "eslint-config-alloy": "^4.4.0", "eslint-plugin-react": "^7.27.1",

报错内容 ESLint: Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.js » eslint-config-alloy/typescript': Cannot find module '@typescript-eslint/parser' Require stack: - /Users/node_modules/_eslint-config-alloy@4.4.0@eslint-config-alloy/typescript.js. Please see the 'ESLint' output channel for details.

这个是 vscode 中的 Eslint 扩展抛出来的,和楼主类似。

yutucc commented 2 years ago

同问

用内置规则在一个空项目中尝试也是报以下错误:

Error: Failed to load parser '@babel/eslint-parser' declared in '.eslintrc.js » eslint-config-alloy » ./base.js': Cannot find module '@babel/core/package.json'

直接在空项目中

yarn add eslint @babel/eslint-parser eslint-config-alloy -D

然后执行 eslint . 后报错

或者使用 vscode 的 ESLint,通用报以上错误

node 版本:v16.13.1、v14.17.6,都有以上问题


补充:

  1. 如果用 yarn 安装,node 版本:v16.13.1、v14.17.6都会出现上述问题
  2. 如果用 npm 安装,node 的 v16.13.1 可以,但 v14.17.6 会出现上述问题
    • ps:切换版本后要把 package-lock.json 也删掉,不然 v16.13.1 和 v14.17.6 都会有上述问题

再补充,好像破案了~

使用 yarn v1.22.17 安装依赖时,命令行有出现以下提示: image

yarn install v1.22.17
info No lockfile found.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
warning " > @babel/eslint-parser@7.17.0" has unmet peer dependency "@babel/core@>=7.11.0".
[4/4] 🔨  Building fresh packages...

success Saved lockfile.
✨  Done in 7.54s.

记得好像哪个版本的 npm 和 yarn 是不会自动安装 peer dependency 的,需要自己手动去安装 yarn add @babel/core -D

安装完后就不会出现上述问题了✿✿ヽ(°▽°)ノ✿

xcatliu commented 2 years ago

@babel/core 是一个必须的依赖,我已补充到文档里了