sh: SET: 在 `npm start` 中找不到命令

sh: SET: command not found in `npm start`

我正在尝试 运行 一个 React 项目。在我 运行 命令: npm start 之后,它给了我一个错误:

sh: SET: command not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! materials-trace@0.1.0 start: `SET PORT=3100 && node scripts/start.js`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the materials-trace@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/jzhu321/.npm/_logs/2019-04-22T09_29_51_770Z-debug.log

并且我在 package.json 中找到了配置:

  "scripts": {
    "start": "SET PORT=3100 && node scripts/start.js",
    "build": "node scripts/build.js",
    "test": "node scripts/test.js"
  },

我该如何解决这个问题?

Shell 脚本没有 SET 命令,只有:set

应该是:

"start": "set PORT=3100 && node scripts/start.js",

SET更改为set 你的代码应该是

 "scripts": {
"start": "set PORT=3100 && node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js"
},

删除set命令也会导致错误sh: 1: PORT: not found如果有空格所以你可以使用PORT=3100