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.


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!!!


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


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ć.


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


18

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

sudo npm install -greact-native-cli


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.


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'

4

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

yarn react-native info

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ę!


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.


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


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!


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.


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


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

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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.