一个诡异的 vs code 环境变量的配置问题

284 天前
 yagamil
问题描述:
项目: node.js express ,win11
项目下有一个.env, 里面随便设置一个变量,比如
BRANCH = A

然后有一个测试文件,只是打印环境变量的值
```
require('dotenv').config()
console.log(process.env.BRANCH);
```

node.js checkevn.js

诡异的是它读取的 BRNACH 并不是我 env 里的。输出的是 B

然后继续 debug ,
在 vs code 环境下
echo $PATH

得到一堆环境变量的值,

然后看看这些路径下有没有 .env 的文件。这里是用于排除其他环境变量下.env 覆盖了我项目 下的.env 。 结果是没有的。

然后我在 vs code 的终端下 echo $BRANCH ,
然后得到的是 B

然后我检查了系统的环境变量,并没有 BRANCH 的这个值,我在外部的终端 Shell ,echo $BRNACH , 值是空的。

说明这个值是 vs code 帮我引入进来的。

可是我把 vs code 的配置删除,重新开到, 继续 echo $BRACNH, 值依然在。。有点无语。

最后无奈,运行项目的时候 强制 export BRANCH=A, xxx= xxx , 手动把 N 个环境变量改掉。

请问论坛大大佬有没有遇到类似的问题??

vs code 下的 git bash ,cmd 均有这个问题
711 次点击
所在节点    Visual Studio Code
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1023933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX