reak-native: nie znaleziono polecenia

127

Otrzymuję -bash: react-native: polecenie nie zostało znalezione błąd podczas tworzenia projektu react-native.

Poniżej znajdują się dodatkowe informacje

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

Wypróbowałem sugerowane kroki z poniższego linku, ale nadal otrzymuję ten sam błąd.

  1. nie znaleziono polecenia-natywnego-reagowania

Nie mam żadnego katalogu „npm”, który określili w rozwiązaniu

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

Ale znalazłem plik npm istnieje w poniższej lokalizacji.

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

Odinstalowałem i ponownie zainstalowałem, ale nadal mam ten sam problem.

Ashok R
źródło
13
Czy próbowałeś npm i -g react-native-clizamiast tego npm i -g react-native?
Nader Dabit
2
używam "sudo npm install -g react-native-cli"
Ashok R
Hmm ... nie jestem pewien, ale może sprawdź ten wątek stackoverflow.com/questions/33282545/ ...
Nader Dabit
4
Jak określono, muszę dodać / usr / local / share / npm / bin w mojej zmiennej PATH. ale nie mam żadnego katalogu npm w / usr / local / share. Dzięki @NaderDabit
Ashok R
1
po uruchomieniu npm config --global get prefix widzę katalog npm w tej lokalizacji -> /usr/local/Cellar/node/6.1.0/libexec/npm. Dodałem go do zmiennej PATH . Wykonane react-native init someApppolecenie wciąż ten sam błąd :-(
Ashok R

Odpowiedzi:

250

Po dodaniu prawej ścieżki do zmiennej PATH problem został rozwiązany.

Poniżej znajdują się kroki, aby znaleźć właściwą ścieżkę.

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 

z powyższego wyjścia wyraźnie widać ścieżkę: /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

jeśli otrzymujesz xcrun: błąd: nie możesz znaleźć narzędzia "simctl" na tym etapie, możesz to zmienić, wykonując poniższe kroki

XCode -> Preferencje -> Lokalizacje -> Narzędzia wiersza poleceń -> Wybierz Xcode 7.2.1

Możesz znaleźć oryginalne rozwiązanie z xcrun, które nie może znaleźć pliku simctl

Dzięki @fbozo

Otóż ​​to!!!

Ashok R
źródło
Brak folderu bin wewnątrz npm !?
Eftekhari
1
To nie jest rozwiązane na stałe. Ale po otwarciu nowego terminala dzieje się ten sam problem. Jak to naprawić na stałe?
Balasubramanian
1
stackoverflow.com/questions/22465332/… @Balasubramanian
Ashok R
To nie działa, jeśli nie używasz sudo do instalowania modułów npm. Aby uzyskać poprawkę, zobacz stackoverflow.com/a/49124013/280795 .
Nick Lothian
W moim przypadku zmieniłem domyślną wersję węzła z NVM i zapomniałem zainstalować ponownie natywną wersję dla tej nowej wersji węzła. Dziękuję Ci!
Steve Meisner
42

Po ciągłym napotykaniu tego problemu i trafianiu na tę odpowiedź, ale nie działa.

Zakładając, że nie uruchamiasz npm jako root / sudo (czego nie powinieneś robić!), Twoje moduły npm zostaną zainstalowane w dowolnym katalogu, który ustawisz jako domyślny .

Zakładając, że wykonałeś te instrukcje, a twój domyślny katalog to ~ / .npm-global, musisz dodać ~ / .npm-global / bin do swojej ścieżki.

Jest to opisane w tych instrukcjach, ale dla mnie dodałem to do .bashrc:

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

Następnie uruchom ponownie powłokę i będzie działać.

Nick Lothian
źródło
po zmęczeniu próbowaniem prawie setek rozwiązań, które zadziałały w moim przypadku, mój problem polegał na tym, że zamknąłem terminal i uruchomiłem ponownie, a następnie nie znaleziono polecenia Reaguj natywnego.
Krantiz
27

uruchom ten kod

npm i -g react-native-cli

zamknij swój cmd i otwórz go ponownie

Mohammed Fallah
źródło
5
Ta sugestia nie rozwiązała problemu.
Mike S.
18

Jeśli masz błąd, wypróbuj go z sudo:

sudo npm install -greact-native-cli

Chi Bui
źródło
9

Wpadłem na ten problem, będąc trochę głupim. Używam nvm do zarządzania różnymi wersjami węzła i zainstalowałem respons-native w wersji węzła, która nie była moją domyślną. Po otwarciu nowej powłoki straciłem polecenie. :) Przełączanie z powrotem oczywiście naprawiono rzeczy.

qix
źródło
1
Lub po prostu zainstaluj ponownie globalnie. Soooo, proste. $ npm i -g react-native-cli
Keeprock
9

Jeśli z jakiegoś dziwnego powodu ścieżka do react-nativenie znajduje się w katalogu PATH, należy zwrócić uwagę, gdzie react-nativejest zainstalowany plik wykonywalny. Ogólnie problem command not foundpolega na tym, że ich nie ma PATH.

Na przykład używam nodenvi biegamnpm 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

Więc muszę to dodać do mojego PATH

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

Możesz zweryfikować za pomocą echo $PATH

Lub możesz na przykład użyć npx do wykonywania lokalnych modułów npm

npx react-native run-ios --simulator='iPhone X'
onmyway133
źródło
4

Jeśli używasz przędzy , może być konieczne wykonanie poleceń z przędzą z przodu. Przykład:

yarn react-native info
Stan
źródło
3

Miałem ten sam problem, ale połowa twojego podejścia nie działała dla mnie. Podjąłem ścieżkę tak, jak ty: z danych wyjściowych pliku react-native-cli instal, ale potem ręcznie napisałem w ect / pathes z:

sudo nano /etc/paths

na koniec dodałem ścieżkę z wyjścia, a następnie ctrl x i y, aby zapisać. Tylko w ten sposób działało, ale wielkie dzięki za wskazówkę!

zo_chu
źródło
3

Najpierw uruchom to polecenie na swoim terminalu.

npm i -g react-native-cli

Następnie utwórz swój własny projekt za pomocą tego polecenia.

React-native init Project name

następnie przejdź do katalogu projektu za pomocą polecenia cd.

kumar ujjawal
źródło
3

Zainstaluj za react-native-clipomocą npm install -g react-native-cli. Być może będziesz musiał użyć sudo jaksudo npm install -g react-native-cli

Gabriel Scalici
źródło
2

Zgodnie z oficjalną dokumentacją zadziałało dla mnie następujące polecenie.

  • npx react-native run-android

Link jest tutaj

Próbowałem uruchomić za pomocą polecenia „Reaguj na natywne run-android”. upewnij się, że na całym świecie masz zainstalowaną natywną wersję CLI!


źródło
1

Gdyby ktoś miał ten problem, miałem podobny problem do qix, ale bardziej zniuansowany.

Nowe terminale powłoki domyślnie korzystałyby z innej wersji węzła. Zmieniłbym mój terminal na węzeł, który chciałem, ale kiedy skrypt pakietu został uruchomiony, działał w nowej powłoce i otrzymał wersję domyślną, która nie miała zainstalowanej wersji natywnej.

Użyłem nvm alias default x.x.x, aby nowe powłoki odziedziczyły domyślną wersję, którą chciałem.

primordius
źródło
0

To naprawdę dziwne, z mojej strony (macOS 10.14), jestem prawie pewien, że mój węzeł i npm działają, ale ciągle otrzymywałem polecenie, które nie zostało znalezione tylko dla tego konkretnego pakietu. W końcu wykonałem następujące czynności:

  • Zainstaluj React-Native-Debugger
  • Upewnij się, że włączono zdalne debugowanie JS, docs
  • Uruchom React-Native-Debugger
  • Uruchom aplikację RN

Możesz teraz debugować hierarchię widoku i wyświetlać dzienniki konsoli w React-native-debugger

Hammerhead
źródło
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
źródło
1
dlaczego musimy instalować tak wiele rzeczy, aby rozwiązać tak mały problem? np. użycie broni nuklearnej na koloniach mrówek.
zinoadidi
-1

spróbuj użyć reakcji-native --help i zobacz, co się pojawi. spróbuj curl

zareaguj na rekomendację natywnej biblioteki:

Jeśli pojawi się błąd, taki jak Nie można znaleźć modułu 'npmlog', spróbuj bezpośrednio zainstalować npm: curl -0 -L https://npmjs.org/install.sh | sudo sh.

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

Murilo Petruci
źródło
pierwotny problem polega na tym, że nie znaleziono polecenia „natywna reakcja”. nie można też uruchomić reakcji-native --help
zinoadidi
Zignorowałem fakt, że popełniłeś błąd podczas instalacji React Native postępując zgodnie z instrukcjami w oficjalnej dokumentacji Facebooka, ponieważ myślałem, że nie jesteś początkującym. Teraz, gdy jestem pewien, że jesteś początkującym, mogę ci pomóc lepiej
Murilo Petruci