1

git 安装在 Windows 上并且可以从任何目录工作(它在系统路径中)

var child_process = require('child_process');
child_process.exec('git --version', function(err, stdout, stderr) {
  // stdout is correct - git version 1.7.11.msysgit.1
  // but err is not null
  // err is [Error: Command failed: ] killed: false, code: 1, signal: null }      
}

什么会导致这种情况?

4

2 回答 2

3

我在使用带有 msysgit 的 Windows 7 时遇到了这个问题。有两件事似乎可以解决这个问题。

首先,验证您的Path系统变量是否包含 Git bin 目录的路径,而不是cmd 目录:

C:\Program Files (x86)\Git\bin

接下来,验证您是否拥有最新版本的 msysgit。我已经验证了该问题已通过 version 解决1.8.4-preview

https://code.google.com/p/msysgit/downloads/list

重新启动您的外壳,然后重试。

于 2013-11-06T18:51:02.323 回答
1

作为一种解决方法,您可以按照文档中的描述{env:{PATH:"C:\path to\node"}}将 options 参数传递给。process.exec(cmd, opts, callback)我很惊讶 Windows 路径没有延续,但没有解释为什么。

于 2013-08-24T21:50:15.997 回答