Помилка запуску npm у програмі create-response-app


85

У мене є проект, котрий я не торкався 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"
  }
}

Я намагаюся клонувати свої репозиторії теж і отримую ту ж помилку. Якщо хтось може дати мені якийсь спосіб дізнатись, що сталося. Дякую


3
Ви пробували видалити 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

Відповіді:


220

Автор реєстрації 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, як щодо тієї самої помилки в bitbucket CI, які ваші пропозиції виправити?
Necmttn

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, схожа на пошук програми-реагувати-додаток у загальнодоступній директорії? Але раніше я ніколи цього не отримую.
EQuimper

1
погляньте на список змін;) github.com/facebookincubator/create-react-app/blob/master / ...
Steeve Pitis

16
Ця відповідь неправильна. Це може вирішити проблему, але не так, як передбачається використовувати програму Create React.
Дан Абрамов

8

Так, вам не слід встановлювати реакційні скрипти глобально, це не буде працювати.

Я думаю, що я не використовував --save, коли я вперше створював проект (на іншій машині), тому для мене це вирішило проблему:

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

Привіт, прапорець --save спричиняє його встановлення локально, а не глобально?
довічне навчання

6

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

Запустіть його в Windows 10 із встановленою останньою програмою npm create-response-app та отримаєте помилку після відмови під час простого запуску npm у простій демонстраційній папці my-app.

Провів довгий час з тим, що спочатку схоже на помилку OP, але дещо відрізняється. Це починається з ERRNO 4058 і продовжується кодом 'ENOENT' syscall: 'spawn cmd', path: '' cmd '...

Врешті-решт з форуму github create-response-app з’ясували, що швидким виправленням цього є реєстрація cmd у змінній "path". Для цього перейдіть до Властивості системи> Змінні середовища. Клацніть на редагувати змінну шляху та та додайте новий запис C: \ Windows \ System32. Перезапустіть підказку CMD, і я був готовий піти.


Коли всі мої розширені виправлення не вдалися, це була моя проблема. Поняття не маю, як це було знято, але це було питання.
Дейв Кантер,

будучи сам початківцем, чи можете ви сказати, чому ми додаємо шлях 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. Удачі


Я думаю, вам не пощастило з причини. Ваша відповідь мені дуже допомогла.
Freduah Gideon

2

Для мене це було просто те, що я не додав react-scriptsдо проекту, тому:

npm i -S react-scripts

Якщо це не працює, тоді rm, node_modulesяк пропонують інші

rm -r node_modules
npm i

Це спрацювало для мене. Я отримував помилку у новому проекті з реагуванням, і, очевидно, скрипти реагування не встановлювались автоматично?
Немо


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

У мене була та ж помилка під час запуску

npm початок

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. у вас остання версія на node.

  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 виходить з синхронізації з 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

Я створив проект реагування локально. Ця причина виникнення цієї проблеми (для мене) полягала в тому, що я sudoраніше не користувався, npmі вона потребує кореневого доступу (

> sudo npm start

PS1 : Для користувачів Windows, powershellабо command lineслід запускати як адміністратор )

PS2 : Якщо користувач хоче вирішити проблему кореневого доступу, ви можете побачити цю публікацію .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.