npm błąd uruchamiania aplikacji create-react-app


88

Mam projekt, którego nie dotykałem przez 2 tygodnie. Cofam to i teraz, gdy próbuję uruchomić, pojawia npm startsię ten błąd.

> react-scripts start

sh: react-scripts: command not found

npm ERR! Darwin 16.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the UpScore@0.6.0 start script 'react-scripts start'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the UpScore package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     react-scripts start
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs UpScore
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls UpScore
npm ERR! There is likely additional logging output above.
  • węzeł 6.7.0
  • npm 3.10.3
  • mac sierra 10.12.2018

package.json

{
  "name": "UpScore",
  "version": "0.6.0",
  "private": true,
  "devDependencies": {
    "react-addons-test-utils": "^15.3.1",
    "react-scripts": "0.4.1",
    "react-test-renderer": "^15.3.1",
    "redux-logger": "^2.6.1"
  },
  "dependencies": {
    "@yoshokatana/medium-button": "^1.1.0",
    "axios": "^0.14.0",
    "bcrypt": "^0.8.7",
    "bcrypt-nodejs": "0.0.3",
    "bcryptjs": "^2.3.0",
    "body-parser": "^1.15.2",
    "connect-flash": "^0.1.1",
    "cookie-parser": "^1.4.3",
    "draft-js": "^0.8.1",
    "draft-js-editor": "^1.7.2",
    "draft-js-export-html": "^0.4.0",
    "ejs": "^2.5.2",
    "email-verification": "^0.4.5",
    "express": "^4.14.0",
    "express-session": "^1.14.1",
    "flexboxgrid": "^6.3.1",
    "highlight.js": "^9.6.0",
    "immutable": "^3.8.1",
    "katex": "^0.6.0",
    "lodash": "^4.15.0",
    "markdown-it-mathjax": "^1.0.3",
    "material-ui": "^0.15.4",
    "medium-editor": "^5.22.0",
    "minutes-seconds-milliseconds": "^1.0.3",
    "moment": "^2.15.0",
    "moment-duration-format": "^1.3.0",
    "mongod": "^1.3.0",
    "mongodb": "^2.2.9",
    "mongoose": "^4.6.0",
    "monk": "^3.1.2",
    "morgan": "^1.7.0",
    "normalize.css": "^3.0.3",
    "passport": "^0.3.2",
    "passport-local": "^1.0.0",
    "react": "^15.3.1",
    "react-dom": "^15.3.1",
    "react-markdown": "^2.4.2",
    "react-medium-editor": "^1.8.1",
    "react-redux": "^4.4.5",
    "react-redux-form": "^0.14.5",
    "react-rich-markdown": "^1.0.1",
    "react-router": "^2.7.0",
    "react-router-redux": "^4.0.5",
    "react-tap-event-plugin": "^1.0.0",
    "react-tinymce": "^0.5.1",
    "redux": "^3.6.0",
    "redux-form": "^6.0.5",
    "redux-form-material-ui": "^4.0.1",
    "redux-promise-middleware": "^4.0.0",
    "redux-thunk": "^2.1.0",
    "reselect": "^2.5.3",
    "screenfull": "^3.0.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "start:prod": "pushstate-server build",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject",
    "server": "cd client/api && pm2 start server.js --watch",
    "proxy": "http://128.199.139.144:3000"
  },
  "eslintConfig": {
    "extends": "./node_modules/react-scripts/config/eslint.js"
  }
}

Próbuję też sklonować repozytoria i otrzymuję ten sam błąd. Jeśli ktoś może dać mi jakiś sposób, aby dowiedzieć się, co się stało. Dziękuję Ci


4
Czy próbowałeś usunąć swój node_modulesi npm installponownie uruchomić ?
Nitsew

1
Tak, wyczyściłem node_modules i npm install. Nie mam błędu w instalacji npm.
EQuimper

Użyłem tego poleceniarm -rf node_modules/ && npm cache clean && npm install
EQuimper

czy możesz nam pokazać swoje npm startpolecenie?
Steeve Pitis

Odpowiedzi:


230

Autor aplikacji Create React.

Absolutnie nie powinieneś instalować na react-scriptscałym świecie.
Ty też nie trzeba ./node_modules/react-scripts/bin/w package.jsonjak ta odpowiedź zakłada.

Jeśli widzisz to:

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Oznacza to po prostu, że coś poszło nie tak, gdy zależności zostały zainstalowane po raz pierwszy.

Proponuję wykonać te trzy kroki:

  1. npm install -g npm@latest zaktualizować npm, ponieważ czasami zawiera błędy.
  2. rm -rf node_modules aby usunąć istniejące moduły.
  3. npm install aby ponownie zainstalować zależności projektu.

To powinno rozwiązać problem.
Jeśli tak się nie stanie, zgłoś problem z linkiem do swojego projektu i wersji Node i npm.


To mi się nie udało. npm 3.3.1; node v6.9.1. Korzystam z systemu Windows i ten problem zaczął się po wykonaniu przywracania systemu, aby cofnąć kilka tygodni i naprawić inny problem.
MartinDuo

2
PS: Wykonując kroki, pojawia się ten błąd. „rm” nie jest rozpoznawane jako polecenie wewnętrzne ani zewnętrzne. Myślę, że przywracanie systemu usunęło coś, co było potrzebne do uruchomienia tych poleceń węzłów, ale nie mam pojęcia.
MartinDuo

PPS I ręcznie usunąłem folder node_modules i uruchomiłem instalację npm. Teraz działa! Dzięki za wskazówkę dotyczącą zamiany node_modules.
MartinDuo

1
To nadal nie działa dla mnie !! Właściwie to zawodzi, gdy wdrożyłem się na Heroku!
aman_novice

Hej @ dan-abromov, a co z tym samym błędem w bitbucket CI, jakie masz sugestie, aby to naprawić?
Necmttn,

12

Wygląda na to, że nie masz react-scriptsw swoim globalnym środowisku. Dostępne są tutaj dwie możliwości:

npm install -g react-scripts

lub w pliku package.json zmień część skryptu w następujący sposób:

  "scripts": {
    "start": "./node_modules/react-scripts/bin/react-scripts.js start",
    "start:prod": "pushstate-server build",
    "build": "./node_modules/react-scripts/bin/react-scripts.js build",
    "test": "./node_modules/react-scripts/bin/react-scripts.js test --env=jsdom",
    "eject": "./node_modules/react-scripts/bin/react-scripts.js eject",
    "server": "cd client/api && pm2 start server.js --watch",
    "proxy": "http://128.199.139.144:3000"
  },

Teraz mam problem z index.html, wygląda na to, że wyszukiwanie aplikacji Create-React w publicznym katalogu? Ale zanim nigdy tego nie zrozumiem.
EQuimper

1
spójrz na dziennik
Steeve Pitis

16
Ta odpowiedź jest błędna. Może to rozwiązać problem, ale nie jest to przeznaczenie aplikacji Create React.
Dan Abramov

8

Tak, nie powinieneś instalować skryptów React na całym świecie, to nie zadziała.

Myślę, że nie użyłem --zapisz, kiedy po raz pierwszy utworzyłem projekt (na innym komputerze), więc dla mnie rozwiązało to problem:

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

Cześć, czy flaga --save powoduje, że jest ona instalowana lokalnie, a nie globalnie?
przez całe życie

6

Ma to pomóc innym zupełnie nowym w reagowaniu i tym, którzy mają problemy z uruchomieniem pierwszej aplikacji, mimo że wykonali nową instalację i spróbowali użyć instalacji npm oraz innych poprawek, które widziałem na forach.

Uruchomiono go w systemie Windows 10 z zainstalowaną najnowszą aplikacją npm create -ago-app i wystąpił błąd po niepowodzeniu na prostym uruchomieniu npm w prostym folderze demonstracyjnym mojej aplikacji.

Spędziłem dużo czasu z czymś, co początkowo wygląda podobnie do błędu OP, ale jest nieco inne. Zaczyna się od ERRNO 4058 i kontynuuje z kodem „ENOENT” syscall: „spawn cmd”, ścieżka: „„ cmd ”...

Ostatecznie na forum github create-react-app ustalono, że szybkim rozwiązaniem tego problemu jest zarejestrowanie cmd w zmiennej "path". Aby to zrobić, przejdź do Właściwości systemu> Zmienne środowiskowe. Kliknij ścieżkę edycji zmiennej i dodaj nowy wpis C: \ Windows \ System32. Zrestartuj monit CMD i byłem gotowy.


Kiedy wszystkie moje zaawansowane poprawki zawiodły, to był mój problem. Nie mam pojęcia, jak to się stało, ale to był problem.
Dave Kanter

sam będąc początkującym, czy możesz powiedzieć, dlaczego dodajemy ścieżkę do systemu Windows. Oznacza to, że mógłbym lepiej zrozumieć, gdybyśmy dodali ścieżkę folderu węzła. Czy możesz wyjaśnić?
Yusuf

4

Jak Dan powiedział poprawnie,

Jeśli widzisz to:

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Oznacza to po prostu, że coś poszło nie tak, gdy zależności zostały zainstalowane po raz pierwszy.

Ale mam coś nieco innego, ponieważ uruchomienie npm install -g npm@latestaktualizacji npm może czasami powodować ten błąd:

npm ERR! code ETARGET
npm ERR! notarget No matching version found for npm@lates
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

więc zamiast biegać npm install -g npm@latest, sugeruję wykonanie poniższych kroków:

 npm i -g npm //which will also update npm
 rm -rf node_modules/ && npm cache clean // to remove the existing modules and clean the cache.
 npm install //to re-install the project dependencies.

To powinno postawić cię na nogi.


4

na wypadek, gdybyś miał takiego pecha jak ja, że ​​spędziłeś trzy (3) dni z rzędu próbując rozwiązać ten problem, każde zaproponowane tutaj rozwiązanie zawiodło mnie ... utwórz plik .env w katalogu głównym projektu i dodaj ten kod SKIP_PREFLIGHT_CHECK=true. Powodzenia


Myślę, że nie bez powodu miałeś pecha. Twoja odpowiedź bardzo mi pomogła.
Freduah Gideon

3

Mogę się bardzo spóźnić, aby odpowiedzieć na to pytanie, ale to właśnie zadziałało w moim przypadku i może pomóc komuś wrócić na ścieżkę rozwoju!

nvm install v12.0 // You may need to install nvm, if not already done
rm -rd node_modules/
npm cache clean --force
npm install

Twoje zdrowie!!


2

Dla mnie po prostu nie dodałem react-scriptsdo projektu, więc:

npm i -S react-scripts

Jeśli to nie zadziała, postępuj node_moduleszgodnie z sugestiami innych

rm -r node_modules
npm i

To zadziałało dla mnie. Pojawiał się błąd w projekcie Fresh React i najwyraźniej skrypty reagujące nie zostały zainstalowane automatycznie?
Nemo


2

Napotkałem następujący problem.

wprowadź opis obrazu tutaj

Znajdź rozwiązanie:

  1. Dodaj „C: \ Windows \ System32” do globalnej zmiennej środowiskowej PATH.

  2. Sprawdź, czy zmienne środowiskowe zostały utworzone dla nodejs, npm i composer . jeśli nie, utwórz go

wprowadź opis obrazu tutaj

  1. Uruchom aplikację.

1

Rozwiązuję ten problem, uruchamiając następujące polecenie

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

mam nadzieję, że to pomoże



1

Miałem ten sam błąd podczas pracy

npm start

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! protest-app@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the protest-app@0.1.0 start script.

Złamałem głowę o kilka zakładek i stosując rozwiązania od innych deweloperów i nic.

Do czasu, gdy nawet używając Ubuntu, zamknąłem swój vscode i zrestartowałem komputer, a wszystkie moje problemy zostały rozwiązane. (kkkk zueira) tylko ten.


1

to proste, ale za pierwszym razem potrzeba kilku kroków, aby ustawić !!!

  1. masz najnowszą wersję w Node.

  2. przejdź do zmiennej środowiskowej i ustaw ścieżkę "%SystemRoot%\system32".

wprowadź opis obrazu tutaj

  1. uruchom cmd jako tryb administratora.

  2. napisz polecenie npm start.


1

dodaj zmienne środowiskowe w oknach

  1. C: \ WINDOWS \ System32
  2. C: \ Pliki programów \ nodejs
  3. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
  4. C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C: \ Users {nazwa twojego systemu bez nawiasów klamrowych} \ AppData \ Roaming \ npm

te 5 są konieczne na ścieżce.

i użyj najnowszej wersji node.js



0

Dzieje się tak, gdy node_modules traci synchronizację z pakietem.json.

Uruchom następujące polecenie w katalogu głównym i dowolnym podfolderze / podfolderze, w którym może znajdować się folder node_modules.

rd node_modules /S /Q
npm install

0

Przyszło mi do głowy, ale żadne z powyższych nie zadziałało.

events.js:72
        throw er; // Unhandled 'error' event
              ^

npm ERR! UpScore@0.6.0 start: `react-scripts start`
npm ERR! spawn ENOENT

Error: spawn ENOENT
    at errnoException (child_process.js:1000:11)
    at Process.ChildProcess._handle.onexit (child_process.js:791:34)

Dzieje się tak, ponieważ mogłeś zainstalować na react-scriptscałym świecie.

Aby to zadziałało ...

  1. Idź do swojego C:\Users\<USER>\AppData\Roaming
  2. Usuń katalogi npm i npm-cache ... (nie martw się, możesz później zainstalować npm globalnie)
  3. Wróć do katalogu aplikacji i usuń node_modulesfolder
  4. Teraz wejdź npm install aby zainstalować zależności (usuń pakiet-lock.json, jeśli został już utworzony)
  5. A teraz biegnij npm install --save react react-dom react-scripts
  6. Zacznij od npm start

To powinno sprawić, że wrócisz na właściwe tory ... Miłego kodowania




0

Stworzyłem projekt React lokalnie. Powodem wystąpienia tego problemu (dla mnie) było to, że nie używałem sudowcześniej npmi wymaga dostępu do konta root (

> sudo npm start

PS1 : w przypadku użytkowników systemu Windows plik powershelllub command linepowinien być uruchomiony jako administrator )

PS2 : Jeśli chcesz rozwiązać problem z dostępem do roota, możesz zobaczyć ten post .

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.