Unable to resolve path to module 'react'. (import/no-unresolved)
Asked Answered
T

8

27

Seems like i am missing something here, it should work without errors but eslint keeps throwing the following:

Unable to resolve path to module 'react'. (import/no-unresolved)

Missing file extension for "react" (import/extensions)

when trying to import React from 'react'

here is some debug info:

package.json

{
  "dependencies": {},
  "devDependencies": {
    "react": "16.3.2",
    "react-dom": "16.3.2",
    "@storybook/addon-actions": "^3.4.2",
    "@storybook/addon-links": "^3.4.2",
    "@storybook/addons": "^3.4.2",
    "@storybook/react": "^3.4.2",
    "babel-core": "^6.26.3",
    "babel-eslint": "^8.2.3",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "babel-runtime": "^6.26.0",
    "eslint": "^4.19.1",
    "eslint-config-airbnb": "^16.1.0",
    "eslint-config-prettier": "^2.9.0",
    "eslint-plugin-import": "^2.11.0",
    "eslint-plugin-jsx-a11y": "^6.0.3",
    "eslint-plugin-react": "^7.7.0"
  }
}

.eslintrc

{
  "parser": "babel-eslint",
  "extends": ["airbnb", "prettier"],
  "env": {
    "browser": true,
    "node": true,
    "es6": true
  }
}

.babelrc

{
  "presets": ["env", "react"]
}

editor: atom v1.26.1

Thanks.

Toponymy answered 27/4, 2018 at 16:6 Comment(0)
A
17

If you're using React Native it may help to add .native.js as an allowed extension in your .eslintrc file.
Also, if you're using Typescript then .ts and .tsx will help too.

"settings": {
  "import/resolver": {
    "node": {
      "extensions": [".ts", ".tsx", ".native.js"]
    }
  }
}
Ambassadress answered 25/7, 2019 at 5:47 Comment(2)
Thanks you, this was my issue. It didnt have .d.ts files.Oler
https://mcmap.net/q/92316/-using-eslint-with-typescript-unable-to-resolve-path-to-module seems to agree with you. I haven't gotten mine working yet. I still see Missing file extension "ts" for "./types" import/extensionsEshman
L
5

I had some problem i removed nodo_modules directory from project and run yarn install / npm install

Luht answered 30/3, 2021 at 9:3 Comment(0)
W
2

I think it complains because react should be in dependencies:

{
  "dependencies": {
    "react": "16.3.2",
    "react-dom": "16.3.2",
  },
  "devDependencies": {
    "@storybook/addon-actions": "^3.4.2",
    "@storybook/addon-links": "^3.4.2",
    "@storybook/addons": "^3.4.2",
    "@storybook/react": "^3.4.2",
    "babel-core": "^6.26.3",
    "babel-eslint": "^8.2.3",
    "babel-preset-env": "^1.6.1",
    "babel-preset-react": "^6.24.1",
    "babel-runtime": "^6.26.0",
    "eslint": "^4.19.1",
    "eslint-config-airbnb": "^16.1.0",
    "eslint-config-prettier": "^2.9.0",
    "eslint-plugin-import": "^2.11.0",
    "eslint-plugin-jsx-a11y": "^6.0.3",
    "eslint-plugin-react": "^7.7.0"
  }
}
Walford answered 27/4, 2018 at 18:13 Comment(2)
What did you have to do to install it correctly? @jalal246Kinsey
@Kinsey just move "react" line to dependencies from devDependencies and then run npm install. If you do not have react installed at all install it with npm install reactWalford
T
2

I installed react and react-dom using npm i -E react react-dom trying to install the exact version which didn't install it correctly.

npm i react react-dom -D solved the problem.

Toponymy answered 27/4, 2018 at 18:29 Comment(0)
D
2

This also happened to me. In my case, it was because I was running npm version 6, but a team member had installed a new library via npm version 7. Version 7 uses a new version for the lock file format.

Our solution was to make sure everyone was running the same npm version so that our package-lock.json files would be consistent.

Dipterous answered 27/5, 2021 at 18:53 Comment(0)
P
1

try to add in eslintrc:

"rules": {
   "import/no-unresolved": [2, { "devDependencies": true }],
   ...
} 
Procumbent answered 9/2, 2023 at 23:29 Comment(0)
G
0

I have experience with the same problem.

In my case, this error appear because I pull new update from the remote repository and it's bring new dependencies.

To solve this, I just install that dependencies with npm install

Girlfriend answered 17/2, 2021 at 8:20 Comment(0)
L
0

Just comment out the import and run. Then again remove the comments. It worked for me.

Leonardo answered 23/2, 2022 at 8:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.