为什么 Deno.run 对某些命令不起作用?
Why does Deno.run not work for some commands?
当我在我的 MacOS 终端中 运行 code .
时,它会在当前文件夹中打开 VSCode。
但是当我 运行 deno run --allow-run file.ts
时没有任何反应,其中 file.ts 如下:
Deno.run({ cmd: ["code", "."] });
我查看了 Deno.run 文档,但找不到任何关于为什么这不起作用的信息。
我进行的测试 运行:
Deno.run({ cmd: ["which", "code"] });
输出 /usr/local/bin/code
(与终端相同)。
Deno.run({ cmd: ["type", "code"] });
什么都不输出。终端输出code is /usr/local/bin/code
!
我如何开始弄清楚为什么有些命令有效(which
)而其他命令无效(code
和 type
)?
您的进程在新的子进程命令完成之前结束,导致子进程在完成之前 interrupted/killed。
您可以等待 output()
或 status()
来避免这种情况:
await Deno.run({ cmd: ["code", "."] }).status();
当我在我的 MacOS 终端中 运行 code .
时,它会在当前文件夹中打开 VSCode。
但是当我 运行 deno run --allow-run file.ts
时没有任何反应,其中 file.ts 如下:
Deno.run({ cmd: ["code", "."] });
我查看了 Deno.run 文档,但找不到任何关于为什么这不起作用的信息。
我进行的测试 运行:
Deno.run({ cmd: ["which", "code"] });
输出/usr/local/bin/code
(与终端相同)。Deno.run({ cmd: ["type", "code"] });
什么都不输出。终端输出code is /usr/local/bin/code
!
我如何开始弄清楚为什么有些命令有效(which
)而其他命令无效(code
和 type
)?
您的进程在新的子进程命令完成之前结束,导致子进程在完成之前 interrupted/killed。
您可以等待 output()
或 status()
来避免这种情况:
await Deno.run({ cmd: ["code", "."] }).status();