npm create-react-app启动错误


84

我有一个项目,我两个星期都没碰过。我将其取回,现在尝试运行时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
  • 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"
  }
}

我也尝试克隆我的存储库,并得到相同的错误。如果有人可以给我一些方法来查找发生了什么。谢谢


3
您是否尝试过删除node_modulesnpm install重新运行?
Nitsew '16

1
是的,我清理了node_modules并安装了npm。我在npm安装中没有任何错误。
EQuimper '16

我已使用此命令rm -rf node_modules/ && npm cache clean && npm install
EQuimper '16

你能告诉我们你的npm start命令吗?
Steeve Pitis

我添加了package.json文件
EQuimper '16

Answers:


219

签入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问题,就像在public dir中搜索create-react-app一样?但是在我从不明白之前。
EQuimper '16


16
这个答案是错误的。这可能会解决问题,但不是打算使用Create React App的方式。
Dan Abramov

8

是的,您不应该在全球范围内安装react-scripts,它将无法工作。

我想我第一次在其他计算机上创建项目时没有使用--save,所以对我来说,这可以解决问题:

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

嗨,--save标志是否将其安装在本地而不是全局安装?
lifelonglearner

6

这是为了帮助其他全新的用户做出反应,以及即使启动全新应用程序并尝试使用npm install和我在论坛上看到的其他修复程序,也可能在启动第一个应用程序时遇到问题。

在安装了所有最新npm create-react-app的Windows 10上运行它,并在简单的npm失败后在简单的my-app演示文件夹中启动失败。

最初花了很长时间看似类似于OP错误的内容,但略有不同。这从ERRNO 4058开始并以代码'ENOENT'syscall:'spawn cmd',path:''cmd'...

最终从github create-react-app论坛得出结论,对此的快速解决方案是在“ path”变量中注册cmd。为此,请转到“系统属性”>“环境变量”。单击路径变量编辑,然后添加C:\ Windows \ System32的新条目。重新启动CMD提示,我很好。


当我所有的高级修复都失败时,这就是我的问题。不知道它是如何发生的,但这就是问题所在。
Dave Kanter,

作为我自己的初学者,您能告诉我们为什么要添加Windows system32路径。意味着我可以更好地理解如果我们要添加节点文件夹路径。你能解释一下吗?
优素福

4

正如Dan正确说的,

如果您看到以下内容:

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

如果这不起作用,则node_modules按照其他人的建议使用rm

rm -r node_modules
npm i

这对我有用。我在一个新的react项目上遇到错误,并且显然没有自动安装react-scripts吗?
Nemo


2

我已经面临以下问题。

在此处输入图片说明

请找到解决方案:

  1. “ C:\ Windows \ System32”添加到全局PATH环境变量。

  2. 检查是否已为nodejs,npm和composer创建了环境变量。如果不创建一个

在此处输入图片说明

  1. 运行您的应用。



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. 您在节点上具有最新版本。

  2. 转到环境变量并设置路径"%SystemRoot%\system32"

在此处输入图片说明

  1. 以管理员模式运行cmd。

  2. 写入命令npm start。


1

在Windows中添加环境变量

  1. C:\ WINDOWS \ System32
  2. C:\ Program档案\ nodejs
  3. C:\ Program Files \ nodejs \ node_modules \ npm \ bin
  4. C:\ WINDOWS \ System32 \ WindowsPowerShell \ v1.0
  5. C:\ Users {您的不带花括号的系统名称} \ AppData \ Roaming \ npm

这五个都是必经之路。

并使用最新版本的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

我已经在本地创建了React项目。发生此问题(对我而言)的原因是,我以前从未使用sudonpm,并且需要root访问权限(

> sudo npm start

PS1:对于Windows用户,powershellcommand line以管理员身份运行

PS2:如果使用要解决根访问问题,则可以参阅此文章

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.