我想从Node运行一个命令,如git commit
。我可以这样做:
var exec = require("child_process").exec;
exec("git commit", function(error, stderr, stdout) {
// Do stuff
});
然而,它总是挂着。我想这是因为git commit
想控制控制台打开vim/emacs或其他什么,但Node不允许。有办法解决这个问题吗?
尝试使用spawn而不是exec,这样您就可以继承stdio。
'use strict';
var spawn = require('child_process').spawn;
var commit = spawn('git', ['commit'], {stdio : 'inherit'});