7
npx install-peerdeps --dev eslint-config-airbnb
install-peerdeps v3.0.3
Installing peerdeps for eslint-config-airbnb@latest.
npm install eslint-config-airbnb@18.2.1 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.

favor
  • 93
  • 1
  • 5

4 Answers4

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"
  }
Claire Furney
  • 2,115
  • 3
  • 24
  • 36
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

David Linder
  • 83
  • 1
  • 6
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

igmadev
  • 11
  • 3
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 eslint@7.2.0 eslint-plugin-import@2.22.1 eslint-plugin-jsx-a11y eslint-plugin-react@7.21.5 eslint-plugin-react-hooks@^4

user1891758
  • 379
  • 4
  • 5