npm Startfehler mit create-react-app


85

Ich habe ein Projekt, das ich 2 Wochen lang nicht berührt habe. Ich nehme es zurück und jetzt, wenn ich versuche zu laufen, habe npm startich diesen Fehler bekommen.

> 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.
  • Knoten 6.7.0
  • npm 3.10.3
  • mac sierra 10.12

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"
  }
}

Ich versuche auch meine Repos zu klonen und erhalte den gleichen Fehler. Wenn mir jemand einen Weg geben kann, um herauszufinden, was passiert. Vielen Dank


3
Haben Sie versucht, Ihre zu entfernen node_modulesund npm installwieder zu laufen ?
Nitsew

1
Ja, ich bereinige die node_modules und installiere npm. Ich habe keinen Fehler bei der npm-Installation erhalten.
EQuimper

Ich habe diesen Befehl verwendetrm -rf node_modules/ && npm cache clean && npm install
EQuimper

Können Sie uns Ihren npm startBefehl zeigen?
Steeve Pitis

Ich habe die Datei
package.json

Antworten:


220

Autor von Create React App beim Einchecken.

Sie sollten auf keinen Fall react-scriptsglobal installieren .
Sie könnten auch nicht brauchen ./node_modules/react-scripts/bin/in package.jsonwie diese Antwort impliziert.

Wenn Sie dies sehen:

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

Es bedeutet nur, dass etwas schief gelaufen ist, als Abhängigkeiten zum ersten Mal installiert wurden.

Ich schlage vor, diese drei Schritte auszuführen:

  1. npm install -g npm@latest npm zu aktualisieren, weil es manchmal fehlerhaft ist.
  2. rm -rf node_modules um die vorhandenen Module zu entfernen.
  3. npm install um die Projektabhängigkeiten neu zu installieren.

Dies sollte das Problem beheben.
Wenn dies nicht der Fall ist, reichen Sie bitte ein Problem mit einem Link zu Ihrem Projekt und den Versionen von Node und npm ein.


Das hat bei mir nicht funktioniert. npm v3.3.1; Knoten v6.9.1. Ich bin unter Windows und dieses Problem begann, nachdem ich eine Systemwiederherstellung durchgeführt hatte, um ein paar Wochen zurückzusetzen und ein anderes Problem zu beheben.
MartinDuo

2
PS: Wenn Sie Ihre Schritte ausführen, wird dieser Fehler angezeigt. 'rm' wird nicht als interner oder externer Befehl erkannt. Ich denke, die Systemwiederherstellung hat etwas entfernt, das zum Ausführen dieser Knotenbefehle benötigt wird, aber ich habe keine Ahnung.
MartinDuo

PPS Ich habe den Ordner node_modules manuell gelöscht und die npm-Installation ausgeführt. Jetzt funktioniert es! Vielen Dank für den Hinweis zum Ersetzen der node_modules.
MartinDuo

1
Das funktioniert bei mir immer noch nicht !! Eigentlich scheitert es, wenn ich auf Heroku eingesetzt habe!
aman_novice

Hey @ dan-abromov was ist mit dem gleichen Fehler in bitbucket CI, was sind deine Vorschläge, um das zu beheben?
Necmttn

12

Es scheint, als hätten Sie es react-scriptsin Ihrem globalen Umfeld nicht. Zwei Möglichkeiten stehen hier zur Verfügung:

npm install -g react-scripts

oder ändern Sie in Ihrer package.json Ihren Skriptteil wie folgt:

  "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"
  },

Jetzt habe ich ein Problem mit index.html. Sieht aus wie die Suche nach einer App zum Reagieren im öffentlichen Verzeichnis? Aber bevor ich das nie verstehe.
EQuimper


16
Diese Antwort ist falsch. Dies kann das Problem beheben, ist jedoch nicht für die Verwendung der Create React App vorgesehen.
Dan Abramov

8

Ja, Sie sollten React-Skripte nicht global installieren, es wird nicht funktionieren.

Ich glaube, ich habe --save nicht verwendet, als ich das Projekt zum ersten Mal erstellt habe (auf einem anderen Computer). Für mich hat dies das Problem behoben:

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

Hallo, bewirkt das Flag --save, dass es lokal und nicht global installiert wird?
Lebenslanger

6

Dies soll anderen helfen, völlig neu zu reagieren und wer Probleme hat, nur eine erste App zu starten, obwohl sie eine Neuinstallation durchgeführt haben und versuchen, npm install und die anderen Korrekturen zu verwenden, die ich in den Foren gesehen habe.

Führen Sie es unter Windows 10 aus, wobei die neueste npm create-react-app installiert ist und bei einem einfachen npm-Start in einem einfachen my-app-Demo-Ordner Fehler nach Fehler aufgetreten sind.

Verbrachte eine lange Zeit mit dem, was auf den ersten Blick dem OP-Fehler ähnelt, aber etwas anders ist. Dies beginnt mit ERRNO 4058 und setzt sich mit dem Code 'ENOENT' fort. Syscall: 'spawn cmd', Pfad: '' cmd '...

Schließlich hat das Github-Forum zum Erstellen und Reagieren von Apps herausgefunden, dass eine schnelle Lösung dafür darin besteht, cmd in der Variablen "path" zu registrieren. Gehen Sie dazu zu Systemeigenschaften> Umgebungsvariablen. Klicken Sie auf Pfadvariable bearbeiten und fügen Sie einen neuen Eintrag von C: \ Windows \ System32 hinzu. Starten Sie die CMD-Eingabeaufforderung neu und ich konnte loslegen.


Als alle meine erweiterten Korrekturen fehlschlugen, war dies mein Problem. Keine Ahnung, wie es nicht eingestellt wurde, aber das war das Problem.
Dave Kanter

Als Anfänger können Sie sagen, warum wir den Windows System32-Pfad hinzufügen. Das heißt, ich hätte es besser verstehen können, wenn wir den Pfad des Knotenordners hinzugefügt hätten. Können Sie bitte erklären?
Yusuf

4

Wie Dan richtig sagte,

Wenn Sie dies sehen:

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

Es bedeutet nur, dass etwas schief gelaufen ist, als Abhängigkeiten zum ersten Mal installiert wurden.

Aber ich habe etwas anderes, weil das Ausführen npm install -g npm@latestzum Aktualisieren von npm manchmal zu folgendem Fehler führt:

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.

Anstatt zu laufen npm install -g npm@latest, schlage ich vor, die folgenden Schritte auszuführen:

 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.

Dies sollte Sie wieder auf die Beine bringen.


4

Falls Sie so unglücklich waren wie ich, dass Sie drei (3) Tage hintereinander versucht haben, dieses Problem zu lösen, ist mir jede hier vorgeschlagene Lösung gescheitert ... Erstellen Sie eine ENV-Datei in Ihrem Projektstamm und fügen Sie diesen Code hinzu SKIP_PREFLIGHT_CHECK=true. Viel Glück


Ich denke, Sie hatten aus einem bestimmten Grund Pech. Ihre Antwort hat mir sehr geholfen.
Freduah Gideon

2

Für mich war es einfach so, dass ich react-scriptsdem Projekt nicht Folgendes hinzugefügt hatte :

npm i -S react-scripts

Wenn dies nicht funktioniert, rm node_moduleswie von anderen vorgeschlagen

rm -r node_modules
npm i

Das hat bei mir funktioniert. Ich habe den Fehler bei einem neuen Reaktionsprojekt erhalten und anscheinend wurden Reaktionsskripte nicht automatisch installiert?
Nemo

2

Ich behebe dies mit dem folgenden Befehl:

npm install -g react-scripts

2

Ich habe das folgende Problem konfrontiert.

Geben Sie hier die Bildbeschreibung ein

Hier finden Sie die Lösung:

  1. Fügen Sie der globalen Umgebungsvariablen PATH "C: \ Windows \ System32" hinzu .

  2. Überprüfen Sie, ob die Umgebungsvariablen für nodejs, npm und composer erstellt wurden . Wenn nicht, erstellen Sie eine

Geben Sie hier die Bildbeschreibung ein

  1. Führen Sie Ihre App aus.

1

Ich löse dieses Problem, indem ich den folgenden Befehl ausführe

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

ich hoffe es hilft


1

Fügen Sie eine .env-Datei mit "SKIP_PREFLIGHT_CHECK = true" als npm start hinzu


1

Ich hatte den gleichen Fehler beim Laufen

npm starten

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.

Ich habe mir auf mehreren Registerkarten den Kopf gebrochen und Lösungen von anderen Entwicklern und nichts angewendet.

Bis ich sogar mit Ubuntu meinen vscode geschlossen und meinen PC neu gestartet habe und alle meine Probleme gelöst waren. (kkkk zueira) nur dieser eine.


1

Es ist einfach, aber das erste Mal dauert es ein paar Schritte, um es einzustellen !!!

  1. Sie haben die neueste Version auf dem Knoten.

  2. Gehen Sie zur Umgebungsvariablen und legen Sie den Pfad fest "%SystemRoot%\system32".

Geben Sie hier die Bildbeschreibung ein

  1. Führen Sie cmd als Administratormodus aus.

  2. Schreibbefehl npm start.


1

Umgebungsvariablen in Windows hinzufügen

  1. C: \ WINDOWS \ System32
  2. C: \ Programme \ nodejs
  3. C: \ Programme \ nodejs \ node_modules \ npm \ bin
  4. C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C: \ Benutzer {Ihr Systemname ohne geschweifte Klammern} \ AppData \ Roaming \ npm

Diese 5 sind ein Muss im Weg.

und verwenden Sie die neueste Version von node.js.



0

Dies tritt auf, wenn die node_modules nicht mehr mit package.json synchronisiert sind.

Führen Sie die folgenden Schritte im Stammverzeichnis und in allen Unterdiensten / Unterordnern aus, in denen sich möglicherweise der Ordner node_modules befindet.

rd node_modules /S /Q
npm install

0

Es ist mir in den Sinn gekommen, aber keines der oben genannten hat funktioniert.

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)

Dies liegt daran, dass Sie möglicherweise react-scriptsglobal installiert haben .

Damit das funktioniert ...

  1. Gehen Sie zu Ihrem C:\Users\<USER>\AppData\Roaming
  2. Löschen Sie die Verzeichnisse npm und npm-cache ... (keine Sorge, Sie können npm später global installieren)
  3. Gehen Sie zurück zu Ihrem Anwendungsverzeichnis und entfernen Sie den node_modulesOrdner
  4. npm installGeben Sie nun ein , um die Abhängigkeiten zu installieren (löschen Sie package-lock.json, falls es bereits erstellt wurde).
  5. Jetzt renn npm install --save react react-dom react-scripts
  6. Beginnen Sie mit npm start

Dies sollte Sie wieder auf den richtigen Weg bringen ... Happy Coding




0

Ich habe ein Reaktionsprojekt lokal erstellt. Dieser Grund der dieses Problem auftritt (für mich) war , dass ich nicht genutzt haben , sudobevor npmund es braucht root - Zugang (

> sudo npm start

PS1 : Windows - Benutzer, die powershelloder command linesollte sein als Administrator ausführen )

PS2 : Wenn Sie das Root-Zugriffsproblem lösen möchten, können Sie diesen Beitrag sehen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.