javascript-使用create-react-app出现npm启动错误

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

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

EQuimper asked 2019-11-05T23:46:20Z
7个解决方案
163 votes

签入Create React App的作者。

您绝对不应在全球范围内安装npm install
您也不需要26014830394736650650中的26014830394736650650,因为这个答案暗示了这一点。

如果您看到以下内容:

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

这仅表示在首次安装依赖项时出了点问题。

我建议执行以下三个步骤:

  1. npm install更新npm,因为有时会出现问题。
  2. npm install删除现有模块。
  3. npm install重新安装项目依赖项。

这应该可以解决问题。
如果不是,请提出问题,并提供指向您的项目以及Node和npm版本的链接。

Dan Abramov answered 2019-11-05T23:57:25Z
8 votes

看来您的全球环境中没有npm install -g 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"
  },
Steeve Pitis answered 2019-11-05T23:58:02Z
4 votes

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

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

npm install --save react react-dom react-scripts
Chtiwi Malek answered 2019-11-05T23:58:33Z
2 votes

正如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.

这应该让您重新站起来。

antzshrek answered 2019-11-05T23:59:19Z
0 votes

可能与其他库冲突,请删除node_modules并再次安装npm。

Diego Santa Cruz Mendezú answered 2019-11-05T23:59:44Z
0 votes

对我来说,只是我没有将node_modules添加到项目中,所以:

npm i -S react-scripts

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

rm -r node_modules
npm i
Jamie Hutber answered 2019-11-06T00:00:15Z
0 votes

如果您碰巧像我这样不幸,连续三(3)天试图解决此问题,这里提出的每个解决方案都使我失败了……在您的项目根目录中创建一个.env文件,并添加此代码SKIP_PREFLIGHT_CHECK=true

Flavins answered 2019-11-06T00:00:40Z
translate from https://stackoverflow.com:/questions/39959900/npm-start-error-with-create-react-app