Error de inicio de npm con create-react-app

84

Tengo un proyecto que no toqué durante 2 semanas. Lo retiro y ahora, cuando intento ejecutar npm start, recibí este error.

> 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.
  • nodo 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"
  }
}

Intento clonar mis repositorios también y obtengo el mismo error. Si alguien me puede dar alguna forma de averiguar qué pasa. Gracias

EQuimper
fuente
3
¿Ha intentado quitarse node_modulesy npm installvolver a ejecutar ?
Nitsew
1
Sí, limpio los node_modules y npm install. No tengo ningún error en la instalación de npm.
EQuimper
He usado este comandorm -rf node_modules/ && npm cache clean && npm install
EQuimper
¿puedes mostrarnos tu npm startcomando?
Steeve Pitis
He agregado el archivo package.json
EQuimper

Respuestas:

219

Autor de Create React App registrando.

Absolutamente no debería instalar react-scriptsglobalmente.
También no necesita ./node_modules/react-scripts/bin/en package.jsoncomo esta respuesta implica.

Si ve esto:

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

Simplemente significa que algo salió mal cuando las dependencias se instalaron por primera vez.

Sugiero seguir estos tres pasos:

  1. npm install -g npm@latest para actualizar npm porque a veces tiene errores.
  2. rm -rf node_modules para eliminar los módulos existentes.
  3. npm install para volver a instalar las dependencias del proyecto.

Esto debería solucionar el problema.
Si no es así, presente un problema con un enlace a su proyecto y versiones de Node y npm.

Dan Abramov
fuente
Eso no me funcionó. npm v3.3.1; nodo v6.9.1. Estoy en Windows y este problema comenzó después de que hice una restauración del sistema para retroceder unas semanas y solucionar otro problema.
MartinDuo
2
PD: Al ejecutar tus pasos, aparece este error. 'rm' no se reconoce como un comando interno o externo. Creo que la restauración del sistema eliminó algo necesario para ejecutar estos comandos de nodo, pero no tengo ni idea.
MartinDuo
PPS Eliminé manualmente la carpeta node_modules y ejecuté npm install. ¡Ahora funciona! Gracias por la pista sobre la sustitución de node_modules.
MartinDuo
1
¡¡Eso todavía no funciona para mí !! ¡En realidad, está fallando cuando lo he implementado en Heroku!
aman_novice
Hola @ dan-abromov, ¿qué pasa con el mismo error en bitbucket CI? ¿Cuáles son tus sugerencias para solucionarlo?
Necmttn
12

Parece que no lo tiene react-scriptsen su entorno global. Hay dos posibilidades disponibles aquí:

npm install -g react-scripts

o en su package.json cambie la parte de su script de esta manera:

  "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"
  },
Steeve Pitis
fuente
Ahora tengo un problema con index.html, ¿se parece a la búsqueda create-react-app en el directorio público? Pero antes nunca entendí eso.
EQuimper
1
eche un vistazo al registro de cambios;) github.com/facebookincubator/create-react-app/blob/master/…
Steeve Pitis
16
Esta respuesta es incorrecta. Esto puede solucionar el problema, pero no es la forma en que se pretende usar la aplicación Create React.
Dan Abramov
8

Sí, no debería instalar react-scripts globalmente, no funcionará.

Creo que no usé --save cuando creé el proyecto por primera vez (en otra máquina), así que para mí esto solucionó el problema:

npm install --save react react-dom react-scripts
Chtiwi Malek
fuente
Hola, ¿el indicador --save hace que se instale localmente y no globalmente?
Lifelonglearner
6

Esto es para ayudar a otros completamente nuevos a reaccionar y que tienen problemas al iniciar una primera aplicación a pesar de que hicieron una instalación nueva e intentaron usar npm install y las otras correcciones que vi en los foros.

Ejecutarlo en Windows 10 con la última aplicación npm create-react-app instalada y falla tras falla en un simple inicio de npm en una carpeta de demostración simple de mi aplicación.

Pasé mucho tiempo con lo que parece similar al error OP al principio, pero es ligeramente diferente. Esto comienza con ERRNO 4058 y continúa con el código 'ENOENT' syscall: 'spawn cmd', ruta: '' cmd '...

Finalmente, en el foro github create-react-app se descubrió que una solución rápida para esto es registrar cmd en la variable "ruta". Para hacer esto, vaya a Propiedades del sistema> Variables de entorno. Haga clic en editar la variable de ruta y agregue una nueva entrada de C: \ Windows \ System32. Reinicie el indicador de CMD y estaba listo para comenzar.

Tony_GR
fuente
Cuando todas mis correcciones avanzadas fallaron, este fue mi problema. No tengo idea de cómo se desarmó, pero este fue el problema.
Dave Kanter
Siendo yo mismo un principiante, ¿puede decirnos por qué estamos agregando la ruta system32 de Windows? Significa que podría haberlo entendido mejor si hubiéramos agregado la ruta de la carpeta del nodo. ¿Puede explicar por favor?
Yusuf
4

Como Dan dijo correctamente,

Si ve esto:

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

Simplemente significa que algo salió mal cuando las dependencias se instalaron por primera vez.

Pero obtuve algo ligeramente diferente porque ejecutar npm install -g npm@latestpara actualizar npm a veces puede dejarlo con este error:

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.

entonces, en lugar de ejecutar npm install -g npm@latest, sugiero ejecutar los siguientes pasos:

 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.

Esto debería ayudarlo a recuperarse.

antzshrek
fuente
4

En caso de que haya tenido tanta mala suerte como yo que pasó tres (3) días seguidos tratando de resolver este problema, todas las soluciones propuestas aquí me fallaron ... cree un archivo .env en la raíz de su proyecto y agregue este código SKIP_PREFLIGHT_CHECK=true. Buena suerte

Flavinas
fuente
Supongo que tuviste mala suerte por una razón. Tu respuesta me ayudó mucho.
Freduah Gideon
2

Para mí fue simplemente que no había agregado react-scriptsal proyecto, así que:

npm i -S react-scripts

Si esto no funciona, rm node_modulescomo lo sugirieron otros

rm -r node_modules
npm i
Jamie Hutber
fuente
Esto me ha funcionado. Recibí el error en un nuevo proyecto de reacción y aparentemente los scripts de reacción no se instalaron automáticamente.
Nemo
2

Arreglo esto usando este siguiente comando:

npm install -g react-scripts
Usama Majid
fuente
2

Me he enfrentado al siguiente problema.

ingrese la descripción de la imagen aquí

Encuentre la solución:

  1. Agregue "C: \ Windows \ System32" a la variable de entorno PATH global.

  2. Compruebe si las variables de entorno se han creado para nodejs, npm y composer . si no crea uno

ingrese la descripción de la imagen aquí

  1. Ejecute su aplicación.
Gopinath gops
fuente
1

Resuelvo este problema ejecutando el siguiente comando

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

Espero eso ayude

Krishna Kumar Jangid
fuente
1

Agregue el archivo .env con "SKIP_PREFLIGHT_CHECK = true" que npm start

Aakash Handa
fuente
1

Tuve el mismo error al ejecutar

npm inicio

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.

Me rompí la cabeza en varias pestañas y apliqué Soluciones de otros desarrolladores y nada.

Hasta que, incluso usando Ubuntu, cerré mi vscode y reinicié mi PC y todos mis problemas se resolvieron. (kkkk zueira) solo este.

Rodrigo Stuani
fuente
1

es simple, pero la primera vez se necesitan algunos pasos para configurarlo.

  1. tienes la última versión en node.

  2. vaya a la variable de entorno y establezca la ruta "%SystemRoot%\system32".

ingrese la descripción de la imagen aquí

  1. ejecute cmd como modo administrador.

  2. escribir comando npm start.

vikky singh
fuente
1

agregar variables de entorno en Windows

  1. C: \ WINDOWS \ System32
  2. C: \ Archivos de programa \ nodejs
  3. C: \ Archivos de programa \ nodejs \ node_modules \ npm \ bin
  4. C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C: \ Users {el nombre de su sistema sin llaves} \ AppData \ Roaming \ npm

estos 5 son imprescindibles en camino.

y usa la última versión de node.js

Pramod pams
fuente
0

es posible que entre en conflicto con otra biblioteca, elimine node_modules y nuevamente npm install.

Diego Santa Cruz Mendezú
fuente
Pero tengo que hacerlo todo el tiempo
Shamsul Arefin Sajib
0

Esto ocurre cuando node_modules se desincroniza con package.json.

Ejecute lo siguiente en la raíz y cualquier subservicio / subcarpeta que pueda tener la carpeta node_modules dentro.

rd node_modules /S /Q
npm install
Cambiar
fuente
0

Se me ocurrió, pero nada de lo anterior funcionó.

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)

Esto sucede porque es posible que haya instalado react-scriptsglobalmente.

Para que esto funcione ...

  1. Ir a tu C:\Users\<USER>\AppData\Roaming
  2. Elimine los directorios npm y npm-cache ... (no se preocupe, puede instalar npm globalmente más tarde)
  3. Regrese al directorio de su aplicación y elimine la node_modulescarpeta
  4. Ahora ingrese npm installpara instalar las dependencias (elimine package-lock.json si ya está creado)
  5. Ahora corre npm install --save react react-dom react-scripts
  6. Empiece con npm start

Esto debería volver a encarrilarte ... Happy Coding

Amirtha Rajan
fuente
0

Escriba unset HOSTsu terminal.

Abhijith Neil Abraham
fuente
0

He creado un proyecto de reacción localmente. Esta razón por la que se produjo este problema (para mí) fue que no lo usé sudoantes npmy necesita acceso de root (

> sudo npm start

PS1 : para usuarios de Windows, el powershello command linedebe ejecutarse como administrador )

PS2 : si desea resolver el problema de acceso a la raíz, puede ver esta publicación .

Mostafa Ghadimi
fuente