我想在通过child_process.exec运行程序时设置一个环境变量,可以吗?我试着这样设置env:
child_process.exec
env
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
但是结果消息说FOO不存在。
z0qdvdin1#
您必须传递一个包含键env的选项对象,该键的值本身就是键值对的对象。
exec('echo $FOO', {env: {'FOO': 'ah'}}, function (error, stdout, stderr) { console.log(stdout, stderr, error); });
q0qdq0h22#
根据@DanielSmedegaardBuus的回答,如果您想保留它们,您必须添加您的env变量到现有的变量中:
const { exec } = require("child_process"); exec( "echo $FOO", { env: { ...process.env, FOO: "ah" } }, function (error, stdout, stderr) { console.log(stdout, stderr, error); } );
2条答案
按热度按时间z0qdvdin1#
您必须传递一个包含键env的选项对象,该键的值本身就是键值对的对象。
q0qdq0h22#
根据@DanielSmedegaardBuus的回答,如果您想保留它们,您必须添加您的env变量到现有的变量中: