ERR undefined while installing airbnb eslint
Asked Answered
I

4

7
npx install-peerdeps --dev eslint-config-airbnb
install-peerdeps v3.0.3
Installing peerdeps for eslint-config-airbnb@latest.
npm install [email protected] eslint@^7.2.0 eslint-plugin-import@^2.22.1 eslint-plugin-jsx-a11y@^6.4.1 eslint-plugin-react@^7.21.5 eslint-plugin-react-hooks@^1.7.0 --save-dev

ERR undefined

idk what's that. Already tried to reinstall node(both LTS and current). The path variable is valid.

Imelda answered 6/4, 2021 at 10:54 Comment(0)
A
12

I resolved this by explicitly installing the dependent npm packages i.e. npm install [package]@[version] --save-dev rather than using the npx install-peerdeps shortcut.

The npm package page for eslint-config-airbnb details how to list the dependencies using: npm info "eslint-config-airbnb@latest" peerDependencies

For version 18.2.1 this gave:

{
  eslint: '^5.16.0 || ^6.8.0 || ^7.2.0',
  'eslint-plugin-import': '^2.22.1',
  'eslint-plugin-jsx-a11y': '^6.4.1',
  'eslint-plugin-react': '^7.21.5',
  'eslint-plugin-react-hooks': '^4 || ^3 || ^2.3.0 || ^1.7.0'
}

Log files showing details about the error are located at ~/.npm/_logs/.

The log file shows that npx install-peerdeps chooses ^7.2.0 for eslint and ^1.7.0 for eslint-plugin-react-hooks. BUT the latter eslint-plugin-react-hooks@^1.7.0 requires eslint@"^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" (according to the log file) hence the error resolving the dependency tree.

I explicitly installed the latest of all packages (i.e. npm install eslint --save-dev etc) which installed the following versions (from package.json) which are in line with the dependencies above.

 "devDependencies": {
    "eslint": "^7.25.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-plugin-import": "^2.22.1",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.23.2",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
Avouch answered 3/5, 2021 at 20:55 Comment(0)
L
1

You just need to run:

(
  export PKG=eslint-config-airbnb;
  npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)

Instead, as stated in the official docs

Leannleanna answered 13/9, 2021 at 18:31 Comment(0)
M
0

I had the same problem. My problem was that I had permissions erros when I was installing global packages. First I tried to change the permissions for my node_modules but that didn't worked for me, so I just configured npm to use a different directory.

Here you can see how you can do that: https://stackoverflow.com/a/55274930

Manas answered 23/4, 2021 at 22:30 Comment(0)
T
0
  1. First run npm info "eslint-config-airbnb@latest" peerDependencies to check the dependency versions

  2. Use the versions for your own "npm install string" ex. npm i -D [email protected] [email protected] eslint-plugin-jsx-a11y [email protected] eslint-plugin-react-hooks@^4

Teniacide answered 24/9, 2021 at 10:16 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.