在被调用的nodejs脚本中设置“进程环境”

时间:2013-05-24 14:26:37

标签: node.js

如何在脚本本身内改变环境,以便其他后续代码将忽略调用环境的状态,并认为环境是我设置的。

1 个答案:

答案 0 :(得分:0)

我不确定'后续代码'是什么意思。

如果您指的是同一节点进程中的',则很容易:

// process.env.PATH = 'foobar';
require('child_process').exec('ls', function(err, result) {
  if (err)
    console.log('error', err);
  else
    console.log('ls', result);
});

首先注释掉第一行,尝试这个脚本,它会正常工作。之后,删除注释,以便废话覆盖PATH,exec将失败,因为它无法在PATH中找到ls命令。

如果您对任何后续节点进程的意思',我可能会在我的第一个脚本'之后启动,但这是不可能的,因为以下进程的父进程是您的shell而不是您的脚本。子进程无法更改其父进程的环境。