Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expo-cli installed but when running any expo command I get "zsh: command not found: expo"

I have installed expo-cli globally but when I try to run any expo code like expo start from anywhere, I get:

zsh: command not found: expo

echo $PATH returns:

/Users/amitg/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/amitg/.npm-global/bin

I am using macOS, catalina.

like image 307
brainfog Avatar asked Jul 18 '20 16:07

brainfog


People also ask

How do I know if EXPO is installed?

To make sure that Expo is installed properly: Verify that the installation was successful by running expo whoami . If you want an Expo project, run the following command. The project you received from Git seems to be a React-native project. You can try this command.


3 Answers

The correct command to run expo in macOS these days is npx expo.

e.g.

npx expo init my_app

If expo-cli is not installed, it will provide you with instructions to install

like image 186
Someone Special Avatar answered Sep 19 '22 04:09

Someone Special


The answer is pretty simple.

just add npm binaries to your path

  1. echo $PATH
  2. export PATH=$PATH:~/.npm-global/bin
  3. source ~/.profile or source ~/.bash_profile

That's It, It will work now, Just go check it expo init myproject

like image 34
Savio Martin Avatar answered Sep 20 '22 04:09

Savio Martin


FOR MACOS

So I recommend your echo $PATH command should be /usr/local/bin. Probably you have install Node on the website via .pkg you have downloaded. I have tried to remove and reinstall multiple times but it wasn't work on MacOS Catalina. I highly recommend to install via NVM. Okay I got you at first it sounds like you don't want any third party dependency to install more than Official website of NodeJS, alright I understand your concern, but I have tried for 2 hours straight and it is not worked. NVM is not really that bad, it is helpful and handy and you don't have to reinvent the wheel. I will show you very simple way, no mess up.

So I recommend you to remove and uninstall it first:

  1. brew uninstall node
  2. which node //if this not found or return empty it means you have removed it
  3. sudo rm -rf /usr/local/bin/node
  4. sudo rm -rf /usr/local/lib/node_modules/npm/
  5. brew doctor
  6. brew cleanup --prune-prefix

Then:

  1. brew uninstall --ignore-dependencies node
  2. brew uninstall --force node

MAKE SURE YOU ARE DEACTIVATE ANY VIRTUAL ENVIRONMENT ***:

  1. brew update
  2. brew install nvm

Then create folder for NVM (no need to care which directory you are in now)

  1. mkdir ~/.nvm

Now add these lines to ~/.bash_profile ( or ~/.zshrc for macOS Catalina or later) by nano ~/.bash_profile: (Marks my word, ADD belows line to bash_profile or zsh, not running those two commands below, ADD THEM!!!)

  1. export NVM_DIR=~/.nvm
  2. source $(brew --prefix nvm)/nvm.sh

Add the NVM Directory Paths to Your Shell Profile (When Needed)

  1. nano .zshrc
  2. export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
  3. Type CTRL + x in your Mac
  4. Type Shift + y in your Mac
  5. Hit Enter or Return key

Then you need to QUIT/CLOSE ALL TERMINAL entirely to make effect

To see what Node versions are available to install run:

  1. nvm ls-remote You will see list of Node version available. I recommend to install any node version with Latest LTS (green color text)

For me, I just needed the latest point release of Node version 12.8.4 LTS stable released during my answer for you so I ran

  1. nvm install 12.18.4 or nvm install --lts
    Otherwise a useful reference in 2022: https://heynode.com/tutorial/install-nodejs-locally-nvm/

Verify your node version:

  1. node --version

THEN FINALLY INSTALL expo cli

  1. npm install --global expo-cli

Check expo installation:

  1. expo --version

I am a student I tried many ways and this work for me and I hope I would be part to help you. Comment if sth still go unplanned.

like image 44
Phok Chanrithisak Avatar answered Sep 19 '22 04:09

Phok Chanrithisak