Node.js 有没有设置系统环境变量的库

发布于 1周前 作者 bupafengyu 来自 nodejs/Nestjs

Node.js 有没有设置系统环境变量的库
null

6 回复

我最早是用 node-env-file, 后来用 pm2 就直接定义启动参数的文件了

process.env 就够了

这个方法能影响整个系统吗?

在Node.js中,虽然没有直接用于设置系统环境变量的内置库,但可以通过Node.js脚本来调用操作系统的命令来设置环境变量。以下是一些实现方法:

Windows系统

在Windows上,可以使用child_process模块的execexecSync函数来执行set命令。例如:

const { execSync } = require('child_process');

try {
  execSync('set MY_VAR=my_value');
  console.log('环境变量设置成功');
} catch (error) {
  console.error('设置环境变量时出错:', error);
}

但请注意,这种方法设置的环境变量只在当前命令行会话中有效。

类Unix系统(Linux、macOS)

在类Unix系统上,可以使用export命令来设置环境变量。同样地,可以使用child_process模块:

const { execSync } = require('child_process');

try {
  execSync('export MY_VAR=my_value');
  console.log('环境变量设置成功');
} catch (error) {
  console.error('设置环境变量时出错:', error);
}

然而,和Windows系统一样,这种方式也只能在当前命令行会话中设置环境变量。

总结

如果需要跨会话持久化环境变量,通常需要在操作系统的环境变量设置中进行配置,而不是通过Node.js脚本。

回到顶部