繁体   English   中英

使用NodeJS设置环境变量

[英]Setting environment variable with NodeJS

我需要从Node设置一个环境变量(当前使用v8.9.3

理想情况下,我想在程序启动时运行export DATA_DIR=/var/lib/data

1.尝试生成一个child_process进行设置,但是它似乎不起作用。

例:

const { spawnSync } = require( 'child_process' );
spawnSync( 'export', [ 'DATA_DIR=/var/lib/data' ] );

但这导致一个ENOENT

Error: spawnSync export ENOENT...
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawnSync export',
path: 'export',
spawnargs: [ 'DATA_DIR=/var/lib/data' ]

2.尝试设置process.env.DATA_DIR = '/var/lib/data'但这似乎是节点进程本地的,其他人无法识别。

3.试用过npm模块: dotenvenvsenvironmentaltiny-envs ,这些模块主要用于加载环境变量。

先感谢您。

您不能为不是当前流程的后代的流程设置环境变量。 在Linux下,没有系统环境变量之类的东西。

export不是一个独立的命令,而是一个内置的shell,它为当前shell进程设置环境变量,并在设置后将其子节点分叉。 就像您打开终端的两个选项卡并从该选项卡export一个值并使用其他选项卡中的值一样。

您可以使用您的格式将密钥,值保存到文件,然后另一个进程可以读取文件以获得密钥的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM