SPAWN NPM ENOENT 错误处理

SPAWN NPM ENOENT 错误处理

SPAWN NPM ENOENT 错误处理
反复重新安装依赖,发现无济于事,可同事的机器运行不报错
检查代码发现:
equire(promisify-child-process);
Node.sj spawn函数可以用于调用系统上的命令,如在Linux, macOs等系统上
例如:
spawn( rm’, [ rf,deployDir])
spawn(‘mkdir’,[‘dist’])
同样的语句在Windows上执行则会报错
因为在Windows上,当我们执行npm 时,我们实际执行的是npm. cnd批处理

解决方案:显式调用
spawn( cmd,C/C, ‘npm’],Crun’, build:${env) );
或者shell: process.platform === win32’
spawn( git, args, (
cwd: deployDir,
shell: process. platform = ‘win3 2’);

第三方库: cross-spawn
或者
const spawn = require(‘hexo-util’).spawn
版本: (package.json)
“hexo-util”: “^0.6.3”
参考文档: https://blog.csdn.net/u010144805/article/details/80224697