我想通过child_process.exec
运行程序时设置环境变量。这可能吗?
我尝试像这样设置env
:
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
但结果消息说FOO不存在。
答案 0 :(得分:53)
您必须传递一个包含键 env 的选项对象,其值本身就是键值对的对象。
exec('echo $FOO', {env: {'FOO': 'ah'}}, function (error, stdout, stderr)
{
console.log(stdout, stderr, error);
});
答案 1 :(得分:3)
根据@DanielSmedegaardBuus 的回答,如果您想保留它们,您必须添加您的环境变量到现有环境变量:
exec(
"echo $FOO",
{ env: { ...process.env, FOO: "ah" } },
function (error, stdout, stderr) {
console.log(stdout, stderr, error);
}
);