#Nodejs #ripgrep #JavaScript #TypeScript ## 事象 [[Node.js]]の[[child_process.exec]]や[[child_process.spawn]]で[[ripgrep]]を実行すると結果が返却されない。(実行が完了しない) ## 原因 標準入力待ちになっていたから。 ## 解決方法 [[child_process.spawn]]の第3引数で `stdio: ['ignore', 'pipe', 'pipe']`を指定する。 ```ts import { spawn } from "child_process"; const results = spawn("rg", ["word"], { stdio: ["ignore", "pipe", "pipe"], }); results.stdout.on("data", (data) => { console.log(data.toString()) } ``` > [!attention] > [[ripgrep]]の引数に検索パスを指定する方法もあるが、なぜかオプションによってはダメだった ## 参考 - [vscode extensions \- Node\.js child process is not giving any response or any error \- Stack Overflow](https://stackoverflow.com/questions/68947940/node-js-child-process-is-not-giving-any-response-or-any-error)