11
我想在節點執行命令:如何使用用戶環境在NodeJS中執行?
cd "/www/foo/" && "/path/to/git/bin/git.exe" config --list --global
基本上,我想執行返回全局配置(爲當前用戶)一個Git命令。
這對我直接在cli上執行命令時工作正常。如果我不喜歡這樣的節點它還適用:
var exec = require('child_process').exec;
var config = {
maxBuffer: 10000 * 1024
};
exec('cd "/www/foo/" && "/path/to/git/bin/git.exe" config --list --global', config, function() {
console.log(arguments);
});
但是,只要我指定的環境的配置:
var exec = require('child_process').exec;
var config = {
maxBuffer: 10000 * 1024,
env: { // <--- this one
}
};
exec('cd "/www/foo/" && "/path/to/git/bin/git.exe" config --list --global', config, function() {
console.log(arguments);
});
東西休息:
命令失敗:致命:無法讀配置文件 '(null)/(null)/。gitconfig':沒有這樣的文件或目錄
我知道原因,這是因爲執行的Git程序不再在用戶環境下執行(就像它在cli中一樣),並且無法檢索用戶目錄來讀取全局配置(在Git中,全局配置=用戶配置),我相信/(null)/(null)/.gitconfig
應該是/Users/MyName/.gitconfig
確實存在。
我的問題是,我怎樣才能指定當前的用戶環境,同時仍然能夠指定我自己的附加環境屬性?