nodespawn官方地址——[Child process | Node.js v23.2.0 Documentation]
报错经尝试出node 18 20 两个版本均会出现,node 16可以正常使用。
AI给出了下面回答:
EINVAL 是一个在编程和操作系统中常见的错误代码,它代表 "Invalid Argument",即“无效参数”的错误。当你在使用如 spawn 这样的函数(特别是在 Node.js 的 child_process 模块中)时,如果遇到了 EINVAL 错误,这通常意味着你传递给函数的某个参数不符合期望的格式或值。
在上图官方给的参数中可以看到选中的shell参数默认为false,而当时我正在window下vscode提供的shell窗口中运行。
修改
修改参数shell
其他参数也可能导致同样的报错,但这个可能在windows开发常见
spawn("xxx.cmd",[],{
env:process.env,
shell:true, //将此参数改为true
// windowsVerbatimArguments:false,
})