212 votes

react-native : commande non trouvée

Je reçois -bash : react-native : erreur de commande non trouvée 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 le 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 l'ai réinstallé mais je suis toujours confronté au même problème.

18 votes

Avez-vous essayé npm i -g react-native-cli au lieu de npm i -g react-native ?

2 votes

J'utilise "sudo npm install -g react-native-cli".

0 votes

Hmm je ne suis pas sûr mais regardez peut-être ce fil de discussion stackoverflow.com/questions/33282545/

338voto

Ashok R Points 7671

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

Voici les étapes à suivre pour trouver la bonne voie.

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établir la situation en suivant les étapes suivantes

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

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

Merci à @fbozo

C'est ça ! !!

0 votes

Pas de dossier bin dans npm !?

1 votes

Ce n'est pas résolu définitivement. Mais après avoir ouvert un nouveau terminal, le même problème se produit. Comment le résoudre définitivement ?

1 votes

47voto

Nick Lothian Points 68

Après avoir continuellement rencontré ce problème, et avoir trouvé cette réponse sans que cela ne fonctionne

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

En supposant que vous avez suivi ces instructions, et que votre répertoire par défaut est ~/.npm-global, alors 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

Puis redémarrez votre shell et cela fonctionnera.

0 votes

Après avoir été fatigué d'essayer des centaines de solutions, cette solution a fonctionné à merveille dans mon cas. Mon problème était que lorsque je fermais le terminal et que je recommençais, la commande react-native n'était pas trouvée.

10voto

qix Points 776

Je suis tombé sur ce problème en étant un peu bête. 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 :) Le fait de revenir en arrière a bien sûr arrangé les choses.

2 votes

Ou simplement le réinstaller globalement. C'est tellement simple. $ npm i -g react-native-cli

9voto

onmyway133 Points 2196

Si pour d'étranges raisons, le chemin vers react-native n'est pas dans le PATH vous devez prendre note de l'endroit où le react-native est installé. En général, le problème avec command not found c'est parce qu'ils ne sont pas dans PATH .

Par exemple, j'utilise nodenv et exécuter npm 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

Donc je dois ajouter ça à 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 les modules npm locaux, par exemple

npx react-native run-ios --simulator='iPhone X'

4voto

zo_chu Points 148

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 ensuite j'ai é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 sauvegarder . Il n'y a que cette méthode qui a fonctionné mais un grand merci pour l'indice !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X