如何用.env文件配置nektos/act的vars上下文以本地运行GitHub Action
解决nektos/act中vars上下文不可用的问题
问题原因
nektos/act默认不原生支持GitHub Actions的vars上下文,直接引用${{ vars.APP_ID }}会触发"Unavailable context: vars"错误,需要通过特定前缀的环境变量模拟该上下文。
用.env文件配置vars上下文
- 创建.env文件
在项目根目录(与.github/workflows文件夹同级的位置)新建.env文件,格式如下:
ACT_VARS_APP_ID=你的实际APP_ID值
- 规则:所有要模拟的
vars.XXX变量,需写成ACT_VARS_XXX的形式,ACT_VARS_是act识别vars上下文的固定前缀。
- 运行act
直接在项目根目录执行act命令,act会自动加载根目录的.env文件,此时${{ vars.APP_ID }}会被正确解析为你设置的值。
若.env文件不在根目录,可通过--env-file参数指定路径:
act --env-file ./path/to/your/env/file.env
临时测试替代方案
不想用.env文件的话,也可以通过命令行直接传递变量:
act -s ACT_VARS_APP_ID=你的实际APP_ID值
验证配置
完成上述配置后重新运行GitHub Action,vars.APP_ID的引用即可正常工作,不会再出现上下文不可用的错误。
内容的提问来源于stack exchange,提问作者user2966445
相关产品推荐
相关产品推荐

