node.js child_process spawn忽略等号

我试图用目标设备启动cordova命令。 我已经testing了命令,它的工作原理,但是当我试图用我的代码生成它,它忽略了等号,因此将不会运行。 这个代码不工作只是增加了"--target='iPhone-7-Plus"

 return new Promise((resolve, reject) => { const executable = "ionic"; const arguments = [ "cordova", buildOnly ? "build" : "run", platform, "--no-interactive", "--verbose", "--target='iPhone-7-Plus'" ].concat(releaseDev === "release" ? ["--prod", "--release"] : []); console.log(executable, arguments.join(" ")); const child = spawn(executable, arguments, { stdio: "inherit" }); child.on("close", () => resolve()); child.on("error", err => reject(err)); }); 

我在这里做错了什么? 为什么只会忽略我的等号,而其余的命令会被添加?

如果我运行cordova run ios --target='iPhone-7-Plus'该命令将执行并启动7+模拟器而没有问题。

当产卵时,我不得不添加shell: true的为了使用我的操作系统的默认shell。 产卵使用的shell将剥离特殊字符。

 const child = spawn(executable, arguments, { stdio: "inherit", shell: true });