【发布时间】:2016-09-19 00:09:03
【问题描述】:
有没有办法在节点启动后设置 NODE_PATH 环境变量?
如果我这样做:
async.series([
function export_NODE_PATH(cb){
cp.exec('export NODE_PATH=$(npm root -g):$NODE_PATH',cb);
},...
它不会工作,但如果我在启动节点之前设置 NODE_PATH,它将按预期工作
export NODE_PATH=$(npm root -g):$NODE_PATH && node index --transpile test
有没有办法在node.js运行时设置环境变量,而不需要在执行前在命令行设置?是不是像在运行时设置 process.env.NODE_PATH 一样简单?
例如,这似乎可行:
cp.exec('echo $(npm root -g)', function (err, stdout, stderr) {
if (err || String(stdout).match(/error/i) || String(stderr).match(/error/i)) {
cb(err || stdout || stderr); // my funky way of handling this
}
else {
process.env.NODE_PATH += stdout;
cb(null);
}
});
但我不知道这是多么洁净,在进一步测试之后,它似乎并没有真正起作用。
【问题讨论】:
标签: node.js environment-variables