sh: react-scripts: polecenie nie zostało znalezione po uruchomieniu npm start


150

Sklonowałem aplikację Reag na mój system i uruchomiłem następujące polecenia

npm install -g create-react-app
npm install --save react react-dom

Potem uciekłem

npm start 

Ale wyrzucił wspomniany powyżej błąd, działa dobrze na moim innym systemie, z którego wrzuciłem go na github. Ale nie działa na żadnym innym systemie po sklonowaniu, czy to Windows, czy Mac.


Utworzyłeś swoją aplikację za pomocą create-react-app appi umieściłeś w niej cd appprzed uruchomieniem npm start?

stworzył go za pomocą aplikacji create-react-app
Devesh Jadon

4
Spróbuj npm installprzed bieganiem npm start?

Odpowiedzi:


249

Sprawdź, czy node_moduleskatalog istnieje. Po świeżym klonie najprawdopodobniej nie będzie node_modules(ponieważ są to .gitignore'd).

Rozwiązanie

uruchom, npm installaby upewnić się, że wszystkie pliki zostały pobrane.

Alternatywne rozwiązanie

Jeśli node_modulesistnieje, usuń go za pomocą, rm -rf node_modulesa następnie uruchom npm install.


9
To rozwiązanie zadziałało dla mnie. Ale musiałem też usunąć package-lock.json.
Victor Augusto,

6
Chciałbym również wspomnieć, że dzieje się tak, gdy projekt jest inicjowany przy użyciu Yarn, ale następnie próbujesz uruchomićnpm install . To nie zadziała: nie są ze sobą kompatybilne. Bieganie npm installpo drzewie wyprodukowanym przez przędzę może je zepsuć. Złożyłem tutaj problem , ale na razie rozwiązaniem jest (jeśli używasz przędzy), aby zawsze używać yarn adddo dodawania pakietu oraz do usuwania node_modulesi ponownego uruchamiania, yarnjeśli coś zepsujesz.
Dan Abramov

tak, zadziałało. Ale wydaje się, że jest to powszechny problem wśród użytkowników. Chciałbym wiedzieć, co dokładnie jest przyczyną problemu.
Arun Ramachandran

1
@ArunRamachandran package.jsonplik nie powinien być nadpisywany podczas dodawania nowych składów z npm install newDep. Być może Twój projekt korzysta yarn? Zobacz stackoverflow.com/a/49575980/2700718
DeBraid

1
To nie zadziałało, próbowałem nawet usunąć plik package-lock.json
kritiz

24

Miałem podobny problem. W moim przypadku pomogło zainstalowanie Yarn i najpierw wykonanie polecenia

yarn

a następnie wykonaj polecenie

yarn start

To też może zadziałać, jeśli sklonowany projekt zawiera plik yarn.lock. Mam nadzieję, że to pomoże!


1
Czy ktoś wie, DLACZEGO używanie yarnrozwiązuje npmproblem?
DJ2

W moim przypadku yarn startnie działał, ponieważ dedykowany port (8081) został zarezerwowany przez poprzednio działający proces. Musiałem go zabić kill -9 $(lsof -t -i:8081 -sTCP:LISTEN) i uciekaćyarn start
keshavDulal

23

Wypróbowałem wszystkie powyższe i nic nie działało, więc użyłem npm i react-scriptsi zadziałało


1
To rozwiązało mój problem. Musiałem biec: przędza dodaj reakcja-skrypty
użytkownik1941537

10

https://github.com/facebookincubator/create-react-app

npm install -g create-react-app

create-react-app my-app
cd my-app/
npm start

Instalujesz pakiet aplikacji create-react-app globalnie. Następnie uruchom go i utwórz projekt o nazwie my-app. Wprowadź folder projektu, a następnie uruchom npm start. Jeśli to nie zadziała, spróbuj uruchomić, npm installa potem npm start. Jeśli to również nie zadziała, spróbuj zaktualizować wersję węzła i / lub npm.


6

nie powinieneś instalować skryptów reagowania na całym świecie, dla mnie to rozwiązało problem:

npm install --save react react-dom react-scripts

jeśli to nadal nie działa:

  1. aktualizacja do najnowszej wersji npm: npm install -g npm@latest
  2. usuń node_moduleskatalog
  3. ponownie zainstaluj wszystkie zależności: npm install

Nie miałem szczęścia, próbowałem nawet usunąć pakiet-lock.json
kritiz

5

Ten błąd występuje podczas instalowania pakietu za pomocą npm installzamiast yarn installlub odwrotnie.


4
npm install --save react react-dom react-scripts

Powyższe polecenie zadziałało dla mnie.


4

Miałem ten problem od wieków i ostatecznie znalazłem rozwiązanie przypadkiem.
Okazuje się, że w nazwach folderów nie możesz mieć spacji ani zwariowanych znaków .

np. ~/projects/tutorial/ReactJS/JavaScript Framework: ReactJS/app-name nie zadziała, ponieważ JavaScript Framework: ReactJSzawiera spacje.
Ogólnie rzecz biorąc, prawdopodobnie nie jest dobrą praktyką używanie spacji w nazwach folderów / plików, ale mam nadzieję, że zaoszczędzi to komuś co najmniej 4 godzin prób i błędów.

Ponadto, wszelkie znaki niealfanumeryczne należy unikać .


wow, próbowałem wszystkiego, co zostało powiedziane powyżej, ale nic nie działało, nie korzystałem z miejsca, ale miałem `` & '' w folderze nadrzędnym zawierającym aplikację reagującą (nawet w nazwie aplikacji) .To jest podchwytliwe, takie małe rzeczy mogą powodować tak duży problem
kritiz

Miałem ten sam problem, ponieważ „&” na mojej drodze straciłem ostatnie 50 minut próbując rozwiązać problem: /
Vanderley Maia


2

W package.json zmieniłem się

"start": "react-scripts start"

do

"start": "NODE_ENV=production node_modules/react-scripts/bin/react-scripts.js start"

Mam nadzieję, że to rozwiąże problem niektórych osób. Chociaż inne powyższe rozwiązania wydają się nie działać dla mnie.


1

Właśnie napotkałem ten problem po zainstalowaniu material-ui.

Rozwiązałem to po prostu uruchamiając npm installponownie.


1

Usunięcie package-lock.json i node_modules, a następnie instalacja npm zadziałało.


1

Jeśli żadna z pozostałych odpowiedzi nie działa poprawnie (po zaktualizowaniu npm itp.). Zdecydowanie polecam zainstalowanie projektu na pulpicie.

create -ago-app nazwa_projektu


0

Po prostu przypadkowo napotkałem ten błąd „Reaguj-skrypty: nie znaleziono polecenia” po wysłaniu react-scripts buildżądania, które wcześniej działało dobrze.

Prosty restart systemu rozwiązał problem.


0

Wprawia mnie to w zakłopotanie od czasu do czasu, kiedy zaczynam od nowa z aplikacją create-react-app, upewnij się, że Twoja wprawia w zakłopotanie od zmienna NODE_ENV jest ustawiona na programowanie, a nie produkcję, ponieważ devDependencies w twoim pliku package.json nie zostanie zainstalowana przez npm install.


0

jeśli ktoś chce używać tylko npm, uruchom to npm i react-native-scripts --save, a następnie npm start lub jakiekolwiek polecenie, którego używasz


0

rozwiązanie 1:

usuń plik package-lock.json, a następnie wpisz -> npm install

rozwiązanie 2:

/Users/piyushbajpai/.npm/_logs/2019-03-11T11_53_27_970Z-debug.log

jak to jest moja ścieżka debugowania -> więc to znajdziesz w konsoli -> naciśnij komendę i kliknij link, znajdziesz linię błędu; lubię to:

pełny stos Błąd: nest_form@0.1.0 start: react-scripts start

rozwiązanie 3:

usuń node_module i npm i w nowy sposób.

rozwiązanie 4:

przejdź do node_module i usuń folder jses i usuń go, a następnie wykonaj npm i i ponownie zacznij od npm start


0

Miałem problemy z najnowszą wersją włóczki 1.15.1-1

Naprawiłem to, przechodząc na niższą wersję sudo apt-get install yarn=1.12.3-1


0

Rozwiązanie, które działało dla mnie, znajduje się poniżej. Spróbuj stworzyć aplikację React za pomocą tego polecenia.

create-react-app react-app --scripts-version 1.1.5

0

Wystąpił ten błąd po zmianie nazwy katalogu z rozszerzeniem @/ symbol w systemie macOS, aby pasował do nazwy przestrzeni nazw mojego pakietu NPM.

Kiedy polecenie NPM szukało zainstalowanych pakietów w moim lokalnym node_modules, nie mogło go znaleźć ze względu na sposób, w jaki macOS przepisał ścieżkę katalogu. Po zmianie nazwy katalogu bez @/byłem ponownie uruchomiony.


0

Jeśli masz ten problem w kontenerze Docker, po prostu upewnij się, że node_modules nie są dodane w pliku .dockerignore.

Miałem ten sam problem sh1: nie znaleziono skryptów reagowania. Dla mnie to było rozwiązanie


0

Po prostu musisz przywrócić pakiety, aby rozwiązać ten problem, więc po prostu uruchom polecenie:

npm install lub Yarn install


0

to działało dla mnie.

jeśli używasz przędzy:

  1. usunąć yarn.lock
  2. biegać yarn
  3. i wtedy yarn start

jeśli używasz npm:

  1. usunąć package-lock.json
  2. biegać npm install
  3. i wtedy npm start

0

Jeśli ktoś nadal ma ten problem po wypróbowaniu tych rozwiązań: sprawdź ścieżkę projektu, ponieważ węzeł ma problemy z pracą z nazwami katalogów z odstępami. Zmieniłem nazwy wszystkich katalogów, które miały spacje w nazwach i działało idealnie.

pomysł rozwiązania zaczerpnięty z: https://npm.community/t/react-scripts-not-found/8574

Przy okazji używam przędzy


0

Nie powinieneś używać SPACJI ani niektórych znaków specjalnych na swojej ścieżce, jak na przykład użycie „&”. W moim przypadku korzystałem z tej ścieżki: "D: \ P&D \ mern" iz tego powodu "&" straciłem 50 minut próbując rozwiązać problem! : /

Żyć i uczyć się!

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.