npm start 给出错误
npm start 给出错误
我正在尝试使用NPX create react app创建一个React App,npm install运行正常,但是应该运行代码的npm start却报错了。
以下是错误信息:
> react-scripts start i 「wds」: 项目正在运行于http://10.54.83.144/ i 「wds」: webpack的输出从这里提供 i 「wds」: 非webpack的内容从C:\Users\xyz\Desktop\app\my-app\public提供 i 「wds」: 404将回退到/ 正在启动开发服务器... events.js:288 throw er; // Unhandled 'error' event ^ 错误:spawn cmd ENOENT at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19) at onErrorNT (internal/child_process.js:469:16) at processTicksAndRejections (internal/process/task_queues.js:84:21) 触发了'error'事件,位于ChildProcess实例上: at Process.ChildProcess._handle.onexit (internal/child_process.js:273:12) at onErrorNT (internal/child_process.js:469:16) at processTicksAndRejections (internal/process/task_queues.js:84:21) { errno: 'ENOENT', code: 'ENOENT', syscall: 'spawn cmd', path: 'cmd', spawnargs: [ '/s', '/c', 'start', '""', '/b', '"http://localhost:3000"' ] } npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! my-app@0.1.0 start: `react-scripts start` npm ERR! 退出状态 1 npm ERR! npm ERR! 在my-app@0.1.0 start脚本运行失败。 npm ERR! 这可能不是npm的问题。可能存在其他日志输出。 npm ERR! 完整的日志记录可以在以下位置找到: npm ERR! C:\Users\xyz\AppData\Roaming\npm-cache\_logs\2020-03-09T20_33_16_720Z-debug.log
这是package.json文件的内容:
{
"name": "my-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.5.0",
"@testing-library/user-event": "^7.2.1",
"react": "^16.13.0",
"react-dom": "^16.13.0",
"react-scripts": "^3.4.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
这是完整的调试日志文件:
0 info it worked if it ends with ok 1 verbose cli [ 1 verbose cli 'C:\\Program Files\\nodejs\\node.exe', 1 verbose cli 'C:\\Users\\xyz\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js', 1 verbose cli 'start' 1 verbose cli ] 2 info using npm@6.14.2 3 info using node@v12.16.1 4 verbose run-script [ 'prestart', 'start', 'poststart' ] 5 info lifecycle my-app@0.1.0~prestart: my-app@0.1.0 6 info lifecycle my-app@0.1.0~start: my-app@0.1.0 7 verbose lifecycle my-app@0.1.0~start: unsafe-perm in lifecycle true 8 verbose lifecycle my-app@0.1.0~start: PATH: C:\Users\xyz\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\xyz\Desktop\app\my-app\node_modules\.bin;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\apache\maven3.6.1\bin;C:\Program Files\Java\jdk1.8.0_241\bin;C:\Program Files\nodejs\;C:\Users\xyz\AppData\Local\Microsoft\WindowsApps;;C:\Users\xyz\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\xyz\AppData\Roaming\npm 9 verbose lifecycle my-app@0.1.0~start: CWD: C:\Users\xyz\Desktop\app\my-app 10 silly lifecycle my-app@0.1.0~start: Args: [ '/d /s /c', 'react-scripts start' ] 11 silly lifecycle my-app@0.1.0~start: Returned: code: 1 signal: null 12 info lifecycle my-app@0.1.0~start: Failed to exec start script 13 verbose stack Error: my-app@0.1.0 start: `react-scripts start` 13 verbose stack Exit status 1 13 verbose stack at EventEmitter.(C:\Users\xyz\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16) 13 verbose stack at EventEmitter.emit (events.js:311:20) 13 verbose stack at ChildProcess. (C:\Users\xyz\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14) 13 verbose stack at ChildProcess.emit (events.js:311:20) 13 verbose stack at maybeClose (internal/child_process.js:1021:16) 13 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) 14 verbose pkgid my-app@0.1.0 15 verbose cwd C:\Users\xyz\Desktop\app\my-app 16 verbose Windows_NT 10.0.17763 17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\xyz\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start" 18 verbose node v12.16.1 19 verbose npm v6.14.2 20 error code ELIFECYCLE 21 error errno 1 22 error my-app@0.1.0 start: `react-scripts start` 22 error Exit status 1 23 error Failed at the my-app@0.1.0 start script. 23 error This is probably not a problem with npm. There is likely additional logging output above. 24 verbose exit [ 1, true ]
我尝试删除了node_modules并清除了缓存,然后再次使用NPM INSTALL
,但它们没有起作用。我在这里漏掉了什么?
问题:npm start报错的原因可能是什么?如何解决?
原因:
1. 环境变量未设置为C:\Windows\System32。
2. 项目文件夹中存在错误的node_modules文件夹、package-lock.json文件或yarn.lock文件。
3. package.json文件中的react-scripts版本过高。
解决方法:
1. 将环境变量设置为C:\Windows\System32。
2. 如果第一种方法不起作用,可以按照以下步骤操作:
a. 进入项目文件夹。
b. 执行以下命令:
rm -rf node_modules rm package-lock.json rm yarn.lock npm cache clear --force npm install
3. 在package.json文件中将react-scripts版本降级。