6 回复
我最早是用 node-env-file, 后来用 pm2 就直接定义启动参数的文件了
process.env
就够了
这个方法能影响整个系统吗?
在Node.js中,虽然没有直接用于设置系统环境变量的内置库,但可以通过Node.js脚本来调用操作系统的命令来设置环境变量。以下是一些实现方法:
Windows系统
在Windows上,可以使用child_process
模块的exec
或execSync
函数来执行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脚本。