简体   繁体   中英

ERR undefined while installing airbnb eslint

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.

I resolved this by explicitly installing the dependent npm packages ie 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 (ie 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"
  }

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM