react-native: commande introuvable

127

J'obtiens une erreur -bash: react-native: command not found lors de la création du projet react -native.

Voici les informations supplémentaires

1. brew --version
   homebrew 0.9.9
2  brew info watchman
   watchman `enter code here`stable 4.50
   /usr/local/Cellar/watchman/4.4.0
3. brew info flow
   stable 0.24.1
   /usr/local/Cellar/flow/0.24.1
4. brew info node
   stable 6.1.0
   /usr/local/Cellar/node/6.1.0
5. npm -version
   3.8.6
6. echo $PATH
/Users/Ashok/.rbenv/shims:/Users/Ashok/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

J'ai essayé les étapes suggérées à partir du lien ci-dessous, mais j'obtiens toujours la même erreur.

  1. react-native-command-not-found

Je n'ai pas de répertoire "npm" qu'ils ont spécifié dans la solution

Ashoks-MacBook-Pro:share Ashok$ ls
aclocal     doc     info        ruby-build  zsh
autoconf    emacs       man     systemtap

Mais j'ai trouvé que le fichier npm existe dans l'emplacement ci-dessous.

/usr/local/Cellar/node/6.1.0/etc/bash_completion.d

J'ai désinstallé react-native et installé à nouveau mais je suis toujours confronté au même problème.

Ashok R
la source
13
Avez-vous essayé npm i -g react-native-cliau lieu de npm i -g react-native?
Nader Dabit
2
J'utilise "sudo npm install -g react-native-cli"
Ashok R
Hmm .. pas sûr mais peut-être vérifier ce fil stackoverflow.com/questions/33282545/…
Nader Dabit
4
Comme ils l'ont spécifié, je dois ajouter / usr / local / share / npm / bin dans ma variable PATH. mais je n'ai pas de répertoire npm dans / usr / local / share. Merci @NaderDabit
Ashok R
1
quand je cours, npm config --global get prefix je peux voir le répertoire npm à cet endroit -> /usr/local/Cellar/node/6.1.0/libexec/npm. Je l'ai ajouté à la variable PATH . La react-native init someAppcommande exécutée est toujours la même erreur :-(
Ashok R

Réponses:

250

Après avoir ajouté le bon chemin à la variable PATH, le problème est résolu.

Voici les étapes pour trouver le bon chemin.

1. Enter: npm install -g react-native-cli
output: /usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native ->/usr/local/Cellar/node/6.1.0/libexec/npm/lib/node_modules/react-native-cli/index.js/usr/local/Cellar/node/6.1.0/libexec/npm/lib
└── react-native-cli@0.2.0 

à partir de la sortie ci-dessus, vous pouvez clairement voir le chemin: /usr/local/Cellar/node/6.1.0/libexec/npm/bin/react-native

export PATH="/usr/local/Cellar/node/6.1.0/libexec/npm/bin:$PATH"

react-native init appName

cd appName

react-native run-ios

si vous obtenez xcrun: erreur: impossible de trouver l'utilitaire "simctl" à ce stade, vous pouvez ré-aimer en utilisant les étapes ci-dessous

XCode -> Préférences -> Emplacements -> Outils de ligne de commande -> Choisissez Xcode 7.2.1

Vous pouvez trouver la solution originale de xcrun incapable de trouver simctl

Merci à @fbozo

C'est tout!!!

Ashok R
la source
Aucun dossier bin dans npm !?
Eftekhari
1
Ce n'est pas résolu définitivement. Mais après l'ouverture d'un nouveau terminal, le même problème se produit. Comment résoudre ce problème de façon permanente?
Balasubramanian
1
stackoverflow.com/questions/22465332/… @Balasubramanian
Ashok R
Cela ne fonctionne pas si vous n'utilisez pas sudo pour installer vos modules npm. Voir stackoverflow.com/a/49124013/280795 pour le correctif.
Nick Lothian
Dans mon cas, j'avais changé ma version par défaut de node avec NVM, et j'avais oublié de réinstaller react-native pour cette nouvelle version de node. Je vous remercie!
Steve Meisner le
42

Après avoir continuellement rencontré ce problème, avoir atteint cette réponse et ne pas l'avoir fonctionné.

En supposant que vous n'exécutiez pas npm en tant que root / sudo (ce que vous ne devriez pas faire!), Vos modules npm seront installés dans le répertoire que vous avez défini par défaut .

En supposant que vous avez suivi ces instructions et que votre répertoire par défaut est ~ / .npm-global, vous devez ajouter ~ / .npm-global / bin à votre chemin.

Ceci est décrit dans ces instructions, mais pour moi, j'ai ajouté ceci à .bashrc:

export PATH=$PATH:$HOME/.npm-global/bin

Ensuite, redémarrez votre shell et cela fonctionnera.

Nick Lothian
la source
après avoir été fatigué d'essayer presque des centaines de solutions, ce charme a fonctionné sur mon cas, mon problème était en fait lorsque je ferme le terminal et que je l'ai redémarré, puis que la commande react-native n'a pas été trouvée.
Krantiz
27

exécuter ce code

npm i -g react-native-cli

fermez votre cmd et ouvrez-le à nouveau

Mohammed Fallah
la source
5
Cette suggestion n'a pas résolu le problème pour moi.
Mike S.
18

Si qui a une erreur, essayez-le avec sudo:

sudo npm installer -g react-native-cli

Chi Bui
la source
9

J'ai rencontré ce problème en étant un peu idiot. J'utilise nvm pour gérer mes différentes versions de node, et j'ai installé react-native dans une version de node qui n'était pas ma version par défaut. En ouvrant un nouveau shell, j'ai perdu ma commande. :) Revenir bien sûr des choses fixes.

qix
la source
1
Ou installez-le à nouveau globalement. Soooo, simple. $ npm i -g react-native-cli
Keeprock
9

Si, pour des raisons étranges, le chemin vers react-nativene se trouve pas dans le PATH, vous devez noter où l' react-nativeexécutable est installé. En général, le problème avec command not foundest qu'ils ne sont pas dans PATH.

Par exemple, j'utilise nodenvet j'exécutenpm install -g react-native

/Users/khoa/.nodenv/versions/10.10.0/bin/react-native -> /Users/khoa/.nodenv/versions/10.10.0/lib/node_modules/react-native/local-cli/wrong-react-native.js

Je dois donc ajouter cela à mon PATH

export PATH=$HOME/.nodenv/versions/10.10.0/bin:$PATH

Vous pouvez vérifier avec echo $PATH

Ou vous pouvez utiliser npx pour exécuter des modules npm locaux, par exemple

npx react-native run-ios --simulator='iPhone X'
onmyway133
la source
4

Si vous utilisez yarn , vous devrez peut-être exécuter des commandes avec yarn devant. Exemple:

yarn react-native info
Stan
la source
3

J'ai eu le même problème, mais la moitié de votre approche n'a pas fonctionné pour moi. J'ai pris le chemin comme vous l'avez fait: à partir de la sortie de react-native-cli instal, mais j'ai ensuite écrit manuellement dans ect / pathes avec:

sudo nano /etc/paths

à la fin, j'ai ajouté le chemin de la sortie, puis ctrl x et y pour enregistrer. Seulement cette façon a fonctionné mais un grand merci pour l'indice!

zo_chu
la source
3

Dans un premier temps, exécutez cette commande sur votre terminal.

npm i -g react-native-cli

Créez ensuite votre projet react-native par cette commande.

React-native init Project name

puis passez au répertoire de votre projet par la commande cd.

kumar ujjawal
la source
3

Installez react-native-cliavec npm install -g react-native-cli. Vous devrez peut-être utiliser sudo commesudo npm install -g react-native-cli

Gabriel Scalici
la source
1

Au cas où quelqu'un aurait ce problème, j'ai eu un problème similaire à qix, mais plus nuancé.

Les nouveaux terminaux shell utiliseraient par défaut une version différente de node. Je changerais mon terminal sur le nœud que je voulais, mais lorsque le script de bundle s'exécutait, il s'exécutait dans un nouveau shell, et il avait la version par défaut qui n'avait pas installé react-native.

Je l'ai utilisé nvm alias default x.x.xpour que les nouveaux shells héritent de la version par défaut que je voulais.

primordius
la source
0

C'est vraiment bizarre, de mon côté (macOS 10.14), je suis à peu près sûr que mon nœud et npm fonctionnent mais j'ai continué à recevoir une commande qui ne se trouve pas uniquement pour ce paquet particulier. J'ai fini par faire ce qui suit:

  • Installez react-native-debugger
  • Assurez-vous d'avoir activé le débogage JS distant, docs
  • Exécutez react-native-debugger
  • Exécutez votre application RN

Vous pouvez maintenant déboguer la hiérarchie des vues et voir les journaux de la console dans react-native-debugger

Tête de marteau
la source
0
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install yarn
brew install node
brew install watchman
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
npm install -g react-native-cli
Giang
la source
1
pourquoi avons-nous besoin d'installer autant de choses pour résoudre un problème si peu? par exemple: utiliser des armes nucléaires sur des colonies de fourmis.
zinoadidi
-1

essayez d'utiliser react-native --help et voyez ce qui se passe. essayez curl

réaction de la recommandation de la bibliothèque native:

Si vous obtenez une erreur comme Impossible de trouver le module 'npmlog', essayez d'installer directement npm: curl -0 -L https://npmjs.org/install.sh | sudo sh.

https://facebook.github.io/react-native/docs/getting-started.html

Murilo Petruci
la source
le problème original est que la commande «react-native» est introuvable. il n'est pas possible d'exécuter
react
J'ai ignoré le fait que vous ayez fait une erreur lors de l'installation de React Native en suivant les étapes de la documentation officielle de Facebook, car je pensais que vous n'étiez pas un débutant. Maintenant que je suis sûr que vous êtes un débutant, je peux mieux vous aider
Murilo Petruci