项目场景:spawn cmd ENOENT错误
问题描述
例如:使用Vue设置启动服务器时自动打开浏览器
报错如下
Error: spawn cmd ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19) npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! jian@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the jian@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! C:\Users\asus\AppData\Roaming\npm-cache\_logs\2019-09-03T13_39_22_260Z-debug.log
原因分析:
spawn xxx ENOENT 就是电脑缺失这个的系统变量,无法运行程序
拖到最下方解决这个bug方案
解决方案:
1、在根目录package.json文件下添加--open
"scripts": {
"serve": "vue-cli-service serve --open",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
2、添加配置文件vue.config.js
module.exports = {
devServer: {
proxy:null,
open:true //添加配置项
}
}
3.在config文件下的index.js下修改配置autoOpenBrowser:true运行后项目自启
最后发现上述方法是建于配置
cmd
的系统变量上运行的,所以我们配置cmd
系统环境变量就好了