【发布时间】:2015-12-07 23:50:23
【问题描述】:
我正在尝试从我的 node.js 应用程序中设置一个全局环境变量。
目标是:
- 重启APP时,环境变量还是要设置的
- 当打开一个新的 shell 时,它应该是可用的
- 如果可能:重启时,同1。
- 它应该可以在 Linux、Mac OS X 上运行(并且需要 Windows 的备用 SET 命令)
这是我所做的:
var setEnv = require('child_process')
.spawn('export GLOBALVARNAME='+my.value,{
stdio: 'inherit',
env: process.env
});
但这会导致
{ [Error: spawn export GLOBALVARNAME=foobar ENOENT]
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn export GLOBALVARNAME=foobar',
path: 'export GLOBALVARNAME=foobar',
spawnargs: [] }
我没有在 Windows 上对此进行测试,但在 Mac OS X(和 Linux)上,bash 上的正确命令是 export GLOBALVARNAME=value。对于 Windows,正确的命令应该是 SET GLOBALVARNAME=value - 不是吗?
所以主要问题是:手动工作 export GLOBALVARNAME=foobar 出了什么问题?
【问题讨论】:
-
了解它为什么给你
ENOENT查看stackoverflow.com/questions/19902828/…