【发布时间】:2018-07-14 09:47:28
【问题描述】:
我正在开发一组使用 .env 文件进行配置的项目,其中每个 .env 文件都导出许多环境变量。文件设置如下;
export VARIABLE1=foo
为此我经常使用 Windows Linux 子系统,但也希望能够在我的 Windows 机器上运行这些项目。有问题的项目是 Golang。
是否有任何简单的方法可以从这些 .env 文件中以编程方式设置 Windows 环境变量(最好是临时的)?这些主要是为了让我可以在 VSCode 中进行调试。
【问题讨论】:
-
请说明
.env是如何准确加载的。 Go 本身不处理.env,您可能正在使用 godotenv。它为当前进程设置环境变量(如果将其用作库)并且可能在 Windows 上工作。如果你在运行 go 程序之前获取.env,那么这就更加超然,与 Go 无关。 -
抱歉忘记了那部分。通常在 linux/bash 环境中,我只是
source foo.env,它会在文件中加载环境变量。这不一定是 Go 特有的,只是我必须在 Go 应用程序中使用这种方法。 -
好的,那么上周提到的 Godotenv 就为你准备好了,无论是在 Linux 还是 Windows 中。
-
direnv 会这样做,尽管它默认使用 .envrc。不确定这是否可以更改。
标签: go environment-variables windows-subsystem-for-linux