在 grunt-env 中取消设置环境变量

Posted

技术标签:

【中文标题】在 grunt-env 中取消设置环境变量【英文标题】:Unset Environment Variable in grunt-env 【发布时间】:2014-07-15 20:26:28 【问题描述】:

有没有办法用grunt-env 取消设置环境变量?我知道我可以从模块中设置它们,甚至有一种方法可以将它们设置为仅当它不存在的值时。但是,the project's GitHub page 似乎没有显示如何取消设置它们。任何解决方案如果还包含一种方法来取消设置只有在变量已设置时会更好。也欢迎对其他模块提出建议。

是否有我可以将变量设置为的值,例如 undefinednullempty string?原谅我,我对环境变量不太熟悉。

我问这个的原因是因为我正在创建一个express 应用程序,我可能想要将一些由环境变量控制的值设置回默认值,这需要设置变量到特定值或取消设置。如果可能的话,我宁愿取消设置它,这样我就不必记住将它设置为哪个值。

【问题讨论】:

【参考方案1】:

此插件仅在 grunt 进程中设置环境变量 - 这些变量将对其他进程完全不可见!因此,您将无法使用此 grunt 插件为您的 express 应用程序设置 shell 环境变量。

我还建议您不要使用构建工具设置 shell 环境变量,而是将它们定义在 bash 文件中并在服务器启动时加载。

【讨论】:

我的意思是,有没有办法取消设置 grunt 任务本身的变量,而不是其他 shell 进程? 我使用 Grunt 任务创建(或启动)了一个 Express 应用程序。这就是我试图设置/取消设置环境变量的原因,所以是的,它们将对我的 Express 应用程序可见,是的,我可以为所述 Express 应用程序设置它们。有没有办法为另一个 Grunt 任务取消设置环境变量?

以上是关于在 grunt-env 中取消设置环境变量的主要内容,如果未能解决你的问题,请参考以下文章

取消设置单个命令的环境变量

如何在 Kubernetes 中取消设置环境变量?

在 makefile 上取消设置环境变量

如何在代码块中运行我的程序之前设置/取消设置环境变量

X-Forwarded-Proto 为 http 时取消设置 HTTPS 环境变量

设置及查看Linux的环境变量详细教程