React-Native: Befehl nicht gefunden

126

Ich erhalte den Fehler -bash: react-native: Befehl beim Erstellen eines reaktionsnativen Projekts nicht gefunden .

Unten finden Sie die zusätzlichen Informationen

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

Ich habe versucht, Schritte über den folgenden Link vorzuschlagen, aber ich erhalte immer noch den gleichen Fehler.

  1. React-Native-Befehl-nicht gefunden

Ich habe kein "npm" -Verzeichnis, das sie in der Lösung angegeben haben

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

Aber ich fand npm Datei existieren unter dem Speicherort.

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

Ich habe React-Native deinstalliert und erneut installiert, aber ich habe immer noch das gleiche Problem.

Ashok R.
quelle
13
Hast du es versucht npm i -g react-native-clianstatt npm i -g react-native?
Nader Dabit
2
Ich benutze "sudo npm install -g react-native-cli"
Ashok R
Hmm .. nicht sicher, aber vielleicht überprüfen Sie diesen Thread stackoverflow.com/questions/33282545/…
Nader Dabit
4
Wie angegeben, muss ich / usr / local / share / npm / bin in meine PATH-Variable einfügen. aber ich habe kein npm verzeichnis in / usr / local / share. Vielen Dank @NaderDabit
Ashok R
1
Wenn ich npm config --global get prefix starte, kann ich das npm- Verzeichnis an dieser Stelle sehen -> /usr/local/Cellar/node/6.1.0/libexec/npm. Ich habe es der PATH- Variablen hinzugefügt . react-native init someAppBefehl ausgeführt immer noch der gleiche Fehler :-(
Ashok R

Antworten:

250

Nach dem Hinzufügen des richtigen Pfads zur PATH-Variablen ist das Problem behoben.

Unten finden Sie die Schritte, um den richtigen Pfad zu finden.

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 

Aus der obigen Ausgabe können Sie den Pfad deutlich erkennen: /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

Wenn Sie xcrun: error erhalten: Das Dienstprogramm "simctl" kann derzeit nicht gefunden werden. Sie können es mithilfe der folgenden Schritte erneut entfernen

XCode -> Einstellungen -> Speicherorte -> Befehlszeilentools -> Wählen Sie Xcode 7.2.1

Sie können die ursprüngliche Lösung von xcrun finden, die simctl nicht finden kann

Danke an @fbozo

Das ist es!!!

Ashok R.
quelle
Kein Bin-Ordner in npm!?
Eftekhari
1
Es ist nicht dauerhaft gelöst. Nach dem Öffnen des neuen Terminals tritt jedoch dasselbe Problem auf. Wie kann man das dauerhaft beheben?
Balasubramanian
1
stackoverflow.com/questions/22465332/… @Balasubramanian
Ashok R
Dies funktioniert nicht, wenn Sie sudo nicht zur Installation Ihrer npm-Module verwenden. Informationen zur Fehlerbehebung finden Sie unter stackoverflow.com/a/49124013/280795 .
Nick Lothian
In meinem Fall hatte ich meine Standardversion des Knotens mit NVM geändert und vergessen, React-Native für diese neue Knotenversion erneut zu installieren. Danke dir!
Steve Meisner
42

Nachdem ich ständig auf dieses Problem gestoßen bin und diese Antwort getroffen habe und sie nicht funktioniert habe.

Angenommen, Sie führen npm nicht als root / sudo aus (was Sie nicht tun sollten!), Werden Ihre npm-Module in dem von Ihnen festgelegten Standardverzeichnis installiert .

Angenommen, Sie haben diese Anweisungen befolgt und Ihr Standardverzeichnis ist ~ / .npm-global, dann müssen Sie Ihrem Pfad ~ / .npm-global / bin hinzufügen.

Dies ist in diesen Anweisungen beschrieben, aber für mich habe ich dies zu .bashrc hinzugefügt:

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

Starten Sie dann Ihre Shell neu und es wird funktionieren.

Nick Lothian
quelle
Nachdem ich es satt hatte, fast Hunderte von Lösungen auszuprobieren, funktionierte dies in meinem Fall. Mein Problem war jedoch, als ich das Terminal schloss und erneut startete, dann wurde kein reaktionsnativer Befehl gefunden.
Krantiz
27

Führen Sie diesen Code aus

npm i -g react-native-cli

schließe dein cmd und öffne es wieder

Mohammed Fallah
quelle
5
Dieser Vorschlag hat das Problem für mich nicht behoben.
Mike S.
17

Wenn Sie einen Fehler haben, versuchen Sie es mit sudo:

sudo npm install -g react-native-cli

Chi Bui
quelle
9

Ich bin auf dieses Problem gestoßen, weil ich ein bisschen albern war. Ich verwende nvm, um meine verschiedenen Versionen des Knotens zu verwalten, und installiere react-native in einer Version des Knotens, die nicht meine Standardeinstellung war. Beim Öffnen einer neuen Shell verlor ich mein Kommando. :) Natürlich feste Dinge zurückschalten.

qix
quelle
1
Oder installieren Sie es einfach global erneut. Soooo einfach. $ npm i -g react-native-cli
Keeprock
9

Wenn sich der Pfad zu aus seltsamen Gründen react-nativenicht in befindet PATH, sollten Sie notieren, wo die react-nativeausführbare Datei installiert ist. Im Allgemeinen liegt das Problem bei, command not foundweil sie nicht in sind PATH.

Zum Beispiel benutze nodenvund laufe ichnpm 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

Also muss ich das zu meinem hinzufügen PATH

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

Sie können mit überprüfen echo $PATH

Oder Sie können npx verwenden , um beispielsweise lokale npm-Module auszuführen

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

Wenn Sie Garn verwenden , müssen Sie möglicherweise Befehle mit Garn vor ausführen. Beispiel:

yarn react-native info
Stan
quelle
3

Hatte das gleiche Problem, aber die Hälfte Ihres Ansatzes hat bei mir nicht funktioniert. Ich habe den Pfad so genommen, wie Sie es getan haben: von der Ausgabe von react-native-cli instal, aber dann manuell in ect / pathes geschrieben mit:

sudo nano /etc/paths

Am Ende habe ich den Pfad von der Ausgabe hinzugefügt und dann Strg x und y zum Speichern. Nur so hat es funktioniert, aber vielen Dank für den Hinweis!

zo_chu
quelle
3

Führen Sie diesen Befehl zunächst auf Ihrem Terminal aus.

npm i -g react-native-cli

Erstellen Sie dann mit diesem Befehl Ihr reaktionsnatives Projekt.

React-native init Project name

Wechseln Sie dann mit dem Befehl cd in Ihr Projektverzeichnis.

kumar ujjawal
quelle
3

Installieren react-native-climit npm install -g react-native-cli. Möglicherweise müssen Sie sudo like verwendensudo npm install -g react-native-cli

Gabriel Scalici
quelle
1

Falls jemand dieses Problem hat, hatte ich ein ähnliches Problem wie qix, aber nuancierter.

Neue Shell-Terminals verwenden standardmäßig eine andere Version des Knotens. Ich würde mein Terminal auf den gewünschten Knoten ändern, aber als das Bundle-Skript ausgeführt wurde, wurde es in einer neuen Shell ausgeführt und es erhielt die Standardversion, auf der React-Native nicht installiert war.

Ich habe verwendet, nvm alias default x.x.xdamit neue Shells die gewünschte Standardversion erben.

primordius
quelle
1

Laut offizieller Dokumentation hat der folgende Befehl für mich funktioniert.

  • npx reagieren-native run-android

Link ist hier

Ich habe versucht, mit dem Befehl "react-native run-android" auszuführen. Stellen Sie sicher, dass React-Native Cli global installiert ist!


quelle
0

Das ist wirklich komisch, auf meiner Seite (macOS 10.14) bin ich mir ziemlich sicher, dass mein Knoten und npm funktionieren, aber ich habe immer wieder Befehle erhalten, die nicht nur für dieses bestimmte Paket gefunden wurden. Am Ende habe ich Folgendes gemacht:

  • Installieren Sie den React-Native-Debugger
  • Stellen Sie sicher , dass Sie Remote - JS Debuggen aktiviert docs
  • Führen Sie den React-Native-Debugger aus
  • Führen Sie Ihre RN-App aus

Sie können jetzt die Ansichtshierarchie debuggen und Konsolenprotokolle im React-Native-Debugger anzeigen

Hammerkopf
quelle
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
quelle
1
Warum müssen wir so viele Dinge installieren, um ein Problem so wenig zu lösen? zB: Einsatz von Atomwaffen auf Ameisenkolonien.
Zinoadidi
-1

Versuchen Sie es mit react-native --help und sehen Sie, was auf Sie zukommt. versuchen Sie es mit Locken

native Bibliotheksempfehlung reagieren:

Wenn Sie eine Fehlermeldung wie "Modul 'npmlog' kann nicht gefunden werden, installieren Sie npm direkt: curl -0 -L https://npmjs.org/install.sh | sudo sh.

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

Murilo Petruci
quelle
Das ursprüngliche Problem ist, dass der Befehl 'react-native' nicht gefunden wird. Es ist nicht möglich, reag-native --help auch
zinoadidi
Ich habe die Tatsache ignoriert, dass Sie bei der Installation von React Native einen Fehler gemacht haben, indem Sie die Schritte in der offiziellen Facebook-Dokumentation befolgt haben, weil ich dachte, Sie wären kein Anfänger. Jetzt, da ich sicher bin, dass Sie ein Anfänger sind, kann ich Ihnen besser helfen
Murilo Petruci