我想在通过child_process.exec
运行程序时设置一个环境变量。这可能吗?
我尝试像这样设置env
:
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
但是得到的消息说 FOO 不存在。
我想在通过child_process.exec
运行程序时设置一个环境变量。这可能吗?
我尝试像这样设置env
:
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
但是得到的消息说 FOO 不存在。
你需要传递一个选项对象,其中包括键 env ,其值本身是一组键值对的对象。
exec('echo $FOO', {env: {'FOO': 'ah'}}, function (error, stdout, stderr)
{
console.log(stdout, stderr, error);
});
根据 @DanielSmedegaardBuus 的回答,如果您想要保留现有的环境变量,则需要将您的环境变量添加到已有的环境变量中:
const { exec } = require("child_process");
exec(
"echo $FOO",
{ env: { ...process.env, FOO: "ah" } },
function (error, stdout, stderr) {
console.log(stdout, stderr, error);
}
);
process.env
,对其进行更改,并将其传递给child_process.exec
。 - DanielSmedegaardBuusprocess.env
。例如:process.env["PATH"] += path.delimiter + process.cwd() + path.sep + "node_modules" + path.sep + ".bin"
。 - memsenv: { ...process.env, 'FOO': 'ah'}
- Lazaro Fernandes Lima Suleiman