【发布时间】:2017-05-12 07:05:13
【问题描述】:
各位书呆子和书呆子们,大家好,
我刚刚开始构建一个使用外部命令行界面的小应用程序。该应用程序首先检查二进制文件是否安装在用户路径中,如果没有提供为他们安装它。外部 cli bin 是 digitalocean cli,需要 curl、管道到 tar,然后将 bin 移动到用户路径中。我已经构建了检查是否已安装的功能,并且一直在读取子进程 api,但一直很难弄清楚如何控制 curl 命令的状态。我当前的咒语没有显示控制台输出。我的问题是这个。如何将 cURL 的输出通过管道传输到控制台以确认其工作?我该如何测试成功然后继续前进?
谢谢大家
const exec = require('child_process').exec
const curlScriptOSX = 'curl -L https://github.com/digitalocean/doctl/releases/download/v1.6.0/doctl-1.6.0-darwin-10.6-amd64.tar.gz | tar xz'
exec(curlScriptOSX, function(error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if(error !== null) {
console.log('exec error: ' + error);
}
})
更新:我也在查看请求库。有没有可能
request(url).pipe(fs.createWriteStream('binary.tar.gz')).then(exec(extracting)).catch(err => console.error(err))
我想知道...我现在试试这个
【问题讨论】:
标签: node.js curl child-process