jf___
jf___

Reputation: 621

'expo' is not recognized as an internal or external command

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.

Upvotes: 61

Views: 144376

Answers (20)

AnatuGreen
AnatuGreen

Reputation: 895

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.

Upvotes: 2

Few Tries
Few Tries

Reputation: 23

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.

Upvotes: 0

AB1
AB1

Reputation: 69

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

Upvotes: 3

Cristian Andes
Cristian Andes

Reputation: 108

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.

Upvotes: 6

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

Upvotes: 78

Joseph
Joseph

Reputation: 73

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.

Upvotes: 1

Rohan Shrestha
Rohan Shrestha

Reputation: 63

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"
  },

Upvotes: 0

Abolfazl Roshanzamir
Abolfazl Roshanzamir

Reputation: 14792

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

Upvotes: 10

Gurpreet singh
Gurpreet singh

Reputation: 25

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!!!

Upvotes: 0

Abhishek Kumar
Abhishek Kumar

Reputation: 1015

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

Upvotes: 2

Hamza Ahmed
Hamza Ahmed

Reputation: 31

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

Upvotes: 1

Marc Willhaus
Marc Willhaus

Reputation: 171

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.

Upvotes: 3

Badri Paudel
Badri Paudel

Reputation: 1630

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

Upvotes: 23

viknesh
viknesh

Reputation: 61

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

Upvotes: 0

Bukunmi
Bukunmi

Reputation: 2574

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.

Upvotes: 1

Sohail Yasmin
Sohail Yasmin

Reputation: 518

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

Upvotes: 0

Abubakr Elghazawy
Abubakr Elghazawy

Reputation: 985

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

Upvotes: 9

Ruby
Ruby

Reputation: 423

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!

Upvotes: 16

brentvatne
brentvatne

Reputation: 8038

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?

Upvotes: 0

Tenzin Kunkyab
Tenzin Kunkyab

Reputation: 123

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.

Upvotes: 0

Related Questions