Ошибка запуска npm с приложением create-response-app

88

У меня есть проект, которого я не трогал 2 недели. Беру обратно и теперь при попытке запустить npm startя получаю эту ошибку.

> 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.
  • узел 6.7.0
  • нпм 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"
  }
}

Я тоже пытаюсь клонировать свои репозитории и получаю ту же ошибку. Если кто-то может дать мне способ узнать, что произошло. Спасибо

EQuimper
источник
4
Вы пытались удалить свой node_modulesи npm installснова запустить ?
Nitsew
1
Да, я очищаю node_modules и npm install. У меня не было ошибок при установке npm.
EQuimper
Я использую эту командуrm -rf node_modules/ && npm cache clean && npm install
EQuimper
можешь показать нам свою npm startкоманду?
Стив Питис,
Я добавил файл package.json
EQuimper

Ответы:

229

Автор отметки Create React App.

Вы абсолютно не должны устанавливать react-scriptsглобально.
Кроме того, не нужно ./node_modules/react-scripts/bin/в package.jsonкачестве этого ответа подразумевает.

Если вы видите это:

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

Это просто означает, что что-то пошло не так, когда зависимости были установлены в первый раз.

Я предлагаю сделать эти три шага:

  1. npm install -g npm@latest обновить npm, потому что иногда он глючит.
  2. rm -rf node_modules удалить существующие модули.
  3. npm install для переустановки зависимостей проекта.

Это должно решить проблему.
Если это не так, сообщите о проблеме со ссылкой на ваш проект и версии Node и npm.

Дан Абрамов
источник
У меня это не сработало. npm v3.3.1; узел v6.9.1. Я работаю в Windows, и эта проблема возникла после того, как я выполнил восстановление системы для отката через несколько недель, чтобы исправить другую проблему.
MartinDuo
2
PS: Выполняя ваши шаги, я получаю эту ошибку. 'rm' не распознается как внутренняя или внешняя команда. Я думаю, что восстановление системы удалило что-то необходимое для выполнения этих команд узла, но я понятия не имею.
MartinDuo
PPS Я вручную удалил папку node_modules и запустил установку npm. Теперь это работает! Спасибо за подсказку о замене node_modules.
MartinDuo
1
Это все еще не работает для меня !! На самом деле, когда я развернулся на Heroku, он не работает!
aman_novice
Привет, @ dan-abromov, а как насчет той же ошибки в битбакете CI, что вы предлагаете исправить?
Necmttn 09
12

Похоже, что у вас нет react-scriptsв вашей глобальной среде. Здесь доступны две возможности:

npm install -g react-scripts

или в вашем package.json измените часть скрипта следующим образом:

  "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"
  },
Стив Питис
источник
Теперь у меня проблема с index.html, похожая на поиск приложения create-response-app в общедоступном каталоге? Но раньше я этого не понял.
EQuimper
1
загляните в
журнал
16
Это неверный ответ. Это может решить проблему, но приложение Create React не предназначено для использования.
Дэн Абрамов
8

Да, вы не должны устанавливать реагирующие скрипты глобально, это не сработает.

Я думаю, что я не использовал --save, когда впервые создал проект (на другой машине), поэтому для меня это устранило проблему:

npm install --save react react-dom react-scripts
Chtiwi Malek
источник
Привет, флаг --save означает, что он устанавливается локально, а не глобально?
lifelonglearner
6

Это сделано для того, чтобы помочь другим совершенно новичкам отреагировать и у которых возникли проблемы при запуске первого приложения, даже если они выполнили новую установку и попытались использовать npm install и другие исправления, которые я видел на форумах.

Запуск его в Windows 10 со всеми установленными последними приложениями npm create-response-app и сбой после сбоя при простом запуске npm в простой демонстрационной папке my-app.

Потратил много времени на то, что сначала похоже на ошибку OP, но немного отличается. Это начинается с ERRNO 4058 и продолжается системным вызовом 'ENOENT': 'spawn cmd', путь: '' cmd '...

В конце концов на форуме github create-response-app было выяснено, что быстрое решение этой проблемы - регистрация cmd в переменной "path". Для этого перейдите в Свойства системы> Переменные среды. Нажмите на редактирование переменной пути и добавьте новую запись C: \ Windows \ System32. Перезапустите командную строку CMD, и я был готов.

Tony_GR
источник
Когда все мои расширенные исправления не удались, это было моей проблемой. Понятия не имею, как это произошло, но проблема была в этом.
Дэйв Кантер,
сам будучи новичком, можете ли вы сказать, почему мы добавляем путь к Windows system32? Значит, я мог бы лучше понять, если бы мы добавили путь к папке узла. Вы можете объяснить?
Юсуф
4

Как правильно сказал Дэн,

Если вы видите это:

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

Это просто означает, что что-то пошло не так, когда зависимости были установлены в первый раз.

Но у меня есть кое-что немного другое, потому что запуск npm install -g npm@latestобновления npm может иногда оставлять вас с этой ошибкой:

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.

поэтому вместо запуска npm install -g npm@latestя предлагаю выполнить следующие шаги:

 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.

Это должно вернуть вас на ноги.

Анцшрек
источник
4

Если вам так не повезло, как мне, что вы потратили три (3) дня подряд, пытаясь решить эту проблему, каждое предложенное здесь решение не помогло мне ... создайте файл .env в корне вашего проекта и добавьте этот код SKIP_PREFLIGHT_CHECK=true. Удачи

Флавины
источник
Думаю, тебе не повезло по какой-то причине. Ваш ответ мне очень помог.
Фредуа Гидеон
3

Возможно, я очень поздно отвечу на этот вопрос, но это то, что у меня сработало, и это может помочь кому-то вернуться на путь разработки!

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

Ура !!

СКБ
источник
2

Для меня это было просто то, что я не добавил react-scriptsв проект так:

npm i -S react-scripts

Если это не сработает, тогда rm, node_modulesкак предложили другие

rm -r node_modules
npm i
Джейми Хатбер
источник
Это сработало для меня. Я получал ошибку в новом проекте реакции, и, по-видимому, сценарии реакции не были установлены автоматически?
Nemo
2

Я исправляю это с помощью следующей команды:

npm install -g react-scripts
Усама Маджид
источник
2

Я столкнулся со следующей проблемой.

введите описание изображения здесь

Найдите решение:

  1. Добавьте «C: \ Windows \ System32» в глобальную переменную среды PATH.

  2. Проверьте, созданы ли переменные среды для nodejs, npm и composer . если не создать

введите описание изображения здесь

  1. Запустите ваше приложение.
Гопинатх гопс
источник
1

Я решаю эту проблему, выполнив следующую команду

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

Надеюсь, поможет

Кришна Кумар Джангид
источник
1

Добавьте файл .env с "SKIP_PREFLIGHT_CHECK = true", чем npm start

Аакаш Ханда
источник
1

У меня была такая же ошибка при запуске

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.

Я сломал голову на несколько вкладок и применял Решения от других разработчиков и ничего.

До тех пор, пока, даже используя Ubuntu, я не закрыл свой vscode и не перезагрузил компьютер, и все мои проблемы не были решены. (kkkk zueira) только этот.

Родриго Стуани
источник
1

это просто, но в первый раз требуется несколько шагов для настройки !!!

  1. у вас последняя версия на узле.

  2. перейдите к переменной окружения и задайте путь "%SystemRoot%\system32".

введите описание изображения здесь

  1. запустите cmd в режиме администратора.

  2. напишите команду npm start.

Викки Сингх
источник
1

добавить переменные среды в окнах

  1. C: \ WINDOWS \ System32
  2. C: \ Program Files \ nodejs
  3. C: \ Program Files \ nodejs \ node_modules \ npm \ bin
  4. C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C: \ Users {имя вашей системы без фигурных скобок} \ AppData \ Roaming \ npm

эти 5 должны быть в пути.

и используйте последнюю версию node.js

Прамод памс
источник
0

возможно, конфликт с другой библиотекой, удалите node_modules и снова установите npm.

Диего Санта-Крус Мендесу
источник
Но я должен делать это каждый раз,
Шамсул Арефин Саджиб
0

Это происходит, когда node_modules перестает синхронизироваться с package.json.

Запустите следующее в корне и любой подпапке / подпапке, в которой может быть папка node_modules.

rd node_modules /S /Q
npm install
Переключатель
источник
0

Мне пришло в голову, но ничего из вышеперечисленного не сработало.

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)

Это происходит потому, что вы могли установить его react-scriptsглобально.

Чтобы это сработало ...

  1. Перейти к вашей C:\Users\<USER>\AppData\Roaming
  2. Удалить каталоги npm и npm-cache ... (не волнуйтесь, вы можете установить npm глобально позже)
  3. Вернитесь в каталог вашего приложения и удалите node_modulesпапку
  4. Теперь введите, npm installчтобы установить зависимости (удалите package-lock.json, если он уже создан)
  5. Теперь беги npm install --save react react-dom react-scripts
  6. Начни с npm start

Это должно вернуть вас в нужное русло ... Счастливого кодирования

Амиртха Раджан
источник
0

Введите unset HOSTсвой терминал.

Абхиджит Нил Абрахам
источник
0

Я создал проект React локально. Причина возникновения этой проблемы (для меня) заключалась в том, что я не использовал ее sudoраньше, npmи ей нужен root- доступ (

> sudo npm start

PS1 : для пользователей Windows powershellили command lineследует запускать от имени администратора )

PS2 : Если вы хотите решить проблему с корневым доступом, вы можете увидеть этот пост .

Мостафа Гадими
источник