这是一个创建于 251 天前的主题,其中的信息可能已经有所发展或是发生改变。
问题描述:
项目: 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 均有这个问题