执行agora项目npm start报错:Error: spawn cd ENOENT求助
解决Agora项目启动时的
Error: spawn cd ENOENT问题 执行npm i完成依赖安装后,运行npm start启动Agora项目时触发Error: spawn cd ENOENT错误,尝试管理员权限CMD运行仍未解决,完整报错堆栈如下:
E:\Projects\Full Stack Projects\Video App by Alpha\agora-app-builder\node_modules\yoga-layout-prebuilt\yoga-layout\build\Release\nbind.js:53 throw ex; ^ Error: spawn cd ENOENT at notFoundError (E:\Projects\Full Stack Projects\Video App by Alpha\agora-app-builder\node_modules\cross-spawn\lib\enoent.js:6:26) at verifyENOENT (E:\Projects\Full Stack Projects\Video App by Alpha\agora-app-builder\node_modules\cross-spawn\lib\enoent.js:40:16) at ChildProcess.cp.emit (E:\Projects\Full Stack Projects\Video App by Alpha\agora-app-builder\node_modules\cross-spawn\lib\enoent.js:27:25) at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12) Emitted 'error' event on ChildProcess instance at: at ChildProcess.cp.emit (E:\Projects\Full Stack Projects\Video App by Alpha\agora-app-builder\node_modules\cross-spawn\lib\enoent.js:30:37) at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12) { code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn cd', path: 'cd', spawnargs: [ 'videoapp', '&&', 'npm', 'install' ]
问题原因
报错信息显示cross-spawn尝试直接调用cd命令,但cd是Shell内置命令,并非独立可执行文件,无法被cross-spawn直接启动,导致出现ENOENT(找不到文件)错误。
解决步骤
修正package.json的start脚本
查看项目根目录的package.json,找到scripts下的start命令,将类似cd videoapp && npm install的写法修改为Shell可执行的命令格式:- 针对Windows CMD环境,修改为:
"start": "cmd /c \"cd videoapp && npm install && npm start\"" - 跨平台兼容写法(需确保已安装
cross-spawn):"start": "cross-spawn --shell \"cd videoapp && npm install && npm start\""
- 针对Windows CMD环境,修改为:
手动执行子目录操作
先手动进入videoapp子目录,执行依赖安装和启动命令:cd videoapp npm install npm start清理缓存重新安装
- 删除根目录和
videoapp目录下的node_modules文件夹 - 删除根目录的
package-lock.json(若使用yarn则删除yarn.lock) - 回到根目录执行
npm install,完成后再尝试启动项目
- 删除根目录和
内容的提问来源于stack exchange,提问作者Zain Ali
相关产品推荐
相关产品推荐

