59

After running npm install -g expo-cli and successfully installing the packages globally, expo is still not recognized as an internal or external command. Does anyone know how I might get around this issue using windows 10, or what to do in terms of something like a path variable.

2
  • 1
    did you find any solution ?
    – Mohsin
    Commented Oct 22, 2018 at 7:46
  • 2
    if installed using YARN add C:\Users\{USER}\AppData\Local\Yarn\bin to path
    – aman girma
    Commented Jul 13, 2021 at 14:00

20 Answers 20

76

Probably the only thing missing is to add the expo executable to your path.

For Windows 10, you can simply add the npm folder to your path environment variable.

  1. Hit Windows key and search for Environment variables.
  2. Inside the Path variable under System variables, add a new entry (entries are separated by semicolons) with this content (without /node_modules ):

%USERPROFILE%\AppData\Roaming\npm

OR if you are using yarn C:\Users\{USER}\AppData\Local\Yarn\bin (as @Qwerty mentioned above)

  1. Open a new command prompt and enter

> expo

You will see something like this: enter image description here

4
  • This answer fixed my problem, but why the key "%USERPROFILE%\AppData\Roaming\npm" deleted after a period of from Path variables Commented Aug 30, 2020 at 18:12
  • If you already have path variable you can add the above by typing a semicolon Commented Dec 31, 2020 at 12:21
  • I had to run Powershell as administrator then "set-ExecutionPolicy RemoteSigned" Commented Apr 19, 2021 at 19:10
  • This answer is a life saver! I have been plagued by this problem for a year now until I came across this post!
    – Pro Poop
    Commented Oct 4, 2021 at 22:12
23

I wondered it was working last night when I first installed and run the "react-native" project but the very next day it showed me the same error as yours.

Here is what I did in windows 10 Operating System:

Add the following path :

environment variable > System Variables > PATH > C:\Users\YOUR_USERNAME\AppData\Roaming\npm

Now I ran the following commands one by one in CMD:

i) npm -g uninstall expo-cli --save

ii) npm install -g expo-cli

Now start the Project and run npm start and now it works for me.

I didn't try this article one but it also shows the solution for the same problem, see here

16

I may be too late to answer this, but for people looking for the same error this is what worked for me.

  1. Install yarn if you don't have it. I used the command choco install yarn (you'll have to install Chocolatey). If you have scoop installed, scoop install yarn also works.

  2. Use yarn to install expo with yarn global add expo-cli.

  3. expo start should work now. yarn start and npm start should also work.

Hope that helps!

2
  • I have the same error and although this I haven't figured out how to solve it
    – Gianmarco
    Commented Nov 13, 2019 at 10:16
  • It might be the solution. But, setting environment variable can solve the issue so there's no need to add another package. No offence but as an efficient solution, I would consider is setting environment variable instead of installing yarn Commented Jan 13, 2020 at 11:28
10

go to the environment variable, then in the user variable section find Path and press the edit button, you will see a new window, press new and add the following

%USERPROFILE%\AppData\Roaming\npm

enter image description here

then press ok. Now,

expo --version
1
  • 4
    I am not sure why your upvotes are not skyrocketing up the roof, but thanks! But may i know why does this actually works? Commented Jan 12, 2021 at 3:58
9

Added These path of npm like this i have the same issue i fix it by adding the path to environment system

C:\Users\abobakr\AppData\Roaming\npm

After that close CMD and open it again it should work believe me

5

Here is the solution I came out with.

I ran npm list -g

then copy the directory on the first line and paste in your system enviroment variables under the variable name 'path'

close all the terminals and run expo or any other command.

3

If it still doesnt work or you can't access npm. Try setting the path with the Windows PowerShell:

  1. Open Windows Powershell as Administrator
  2. Type: setx path "%path%;C:\Users\USERNAME\AppData\Roaming\npm"

It worked for me.

3

This worked for me :

  1. Download latest version of nodejs - https://nodejs.org/en/download/
  2. After installing nodejs reboot your computer
  3. install : npm install --global expo-cli
  4. Generate a new project with - npx expo-cli init projectName
  5. cd projectName
  6. npm start
2

Re-install node.js and then run npm install -g expo-cli in command prompt.

2

If you are using Windows 10 or 11, the solution to edit your Path variable works well. Just make sure that you replace "YOUR_USERNAME" with your username on the computer:

This means that if my username is "Green", I will replace YOUR_USERNAME here: C:\Users\YOUR_USERNAME\AppData\Roaming\npm

to

C:\Users\Green\AppData\Roaming\npm.

This article is very detailed in solving the problem in case if the above does not work for you.

1

For me, i uninstalled node.js,

i re-installed node.js,

i ran npm install -g expo-cli,

then ran expo --version (the expo command began to work).

Hope this helps.

0
1

This worked for me:

  1. You must uninstall node js then install it again.
  2. You must run npm install expo-cli.

It will solve your problem

1

If you are using yarn global add expo-cli, try npm install -g expo-cli.

I don't know why but when i go into C:\Users\%{user}%\AppData\Roaming\npm there isn't the expo package(and other packages that I thought I install globally by yarn) but there are other that I installed globally by npm.

If adding C:\Users\%{user}%\AppData\Roaming\npm to PATH variable doesn't work, give this a shot.

0
0

I had the same problem last night, and I've recently started my journey in ReactNative. So, there might be better answers out there.

If you're following the ReactNative Official documentation, the first time npm start works fine, the subsequent ones throws an error saying expo is not recognized. I got around that by running expo start and not npm start ( which basically is the same thing but doesn't work for some reason ).

So, mine looks like a work around rather than an explanation as to why this happens or how to permanently fix it.

1
  • If expo is not recognized, how i run "expo start"???
    – Samir Diaz
    Commented Jun 1, 2023 at 16:41
0

This is a more general problem where your global node modules are not in your system path. This question is what you are looking for: Nodejs cannot find installed module on Windows?

0

I have fixed this in Windows 10 by setting Path C:\Users\[USERNAME] this line save my hrs

0

uninstall expo using this command npm -g uninstall expo-cli --save and reinstall expo using this command npm install -g expo-cli then it will work properly

0

I faced same problem and it was not getting resolved by "npm install --global expo-cli". Global CLI was having error as SS below -

  • npm list -g --depth 0 Global expo-cli package issue

Followed below steps to get it resolved

  1. npm uninstall --global expo-cli
  2. Deleted global package causing error C:\Users<USERNAME>\AppData\Roaming\npm\node_modules\expo-cli
  3. npm install --global expo-cli

And expo cli worked. Happy coding!!!

0

If you need a solution to Run Expo command without Environment Variable update then on your terminal use below command for windows system:

R:\> C:\Users\{user}\AppData\Roaming\npm\expo.cmd init {projectname}

Where you directly point the expo.cmd file rather than specifying in the environment variable.

And update the expo to C:\Users{user}\AppData\Roaming\npm\expo.cmd in package.json to run the project.

// package.json
"scripts": {
    "start": "C:\\Users\\{user}\\AppData\\Roaming\\npm\\expo.cmd start",
    "android": "C:\\Users\\{user}\\AppData\\Roaming\\npm\\expo.cmd start --android",
    "ios": "C:\\Users\\{user}\\AppData\\Roaming\\npm\\expo.cmd start --ios",
    "web": "C:\\Users\\{user}\\AppData\\Roaming\\npm\\expo.cmdstart --web",
    "eject": "C:\\Users\\{user}\\AppData\\Roaming\\npm\\expo.cmd eject"
  },
1
  • Could you revise the answer more clearly using code blocks? Commented Dec 21, 2020 at 6:44
0

If you set the environment path as said in other replies and the command is still not recognized, try running whatever you're using to execute the command in administrator mode.

I'm using VS Code terminal and expo was not recognized until I ran it as administartor.

Not the answer you're looking for? Browse other questions tagged or ask your own question.