繁体   English   中英

Hubot 启动时自动加载 .env

[英]Automate loading .env when Hubot starts

我正在使用 Heroku 开发带有 Hubot 框架的应用程序。 我在 Heroku 上设置了一些配置变量,当我部署代码时,我的process.env引用工作正常。

但是,我在使用配置变量设置本地开发系统进行测试时遇到了麻烦。 我有一个 .env 文件,并从 Heroku 获取了所有配置变量。 但是,当我在命令行启动我的应用程序时,似乎没有加载 .env 文件。

我已经添加了hubot-env (如Hubot所建议的- 从文件加载环境变量)并且可以在每次使用命令启动我的应用程序时手动加载我的 .env 文件

hubot env load --filename=[filename]

我想自动化这个,所以当我启动我的机器人时会自动执行这个命令。 我可以在哪里配置这个?

关于这个问题,据我了解 Hubot 不读取 .env 文件。 每次我的解决方案是创建 bash-script run.sh文件时,而不是导出变量:

#!/bin/bash

export HUBOT_OWM_APIKEY=MY_OWM_API_KEY;
export HUBOT_WEATHER_UNITS=metric;

HUBOT_SLACK_TOKEN=xoxb-xxxx-MY_SLACK_TOKEN ./bin/hubot --adapter slack

然后在 bash

$ chmod +x run.sh   # provides the permissions
$ ./run.sh          # starts the bot with necessary variables

这是一个非常古老的问题,但我现在正在研究 Hubot,需要为后代保存它。

这就是我现在的做法。 它无需添加额外的文件或包即可工作:

"scripts": {
    "start": "export $(cat .env | xargs) && ./bin/hubot -a slack"
  }

将您的适配器从slack更改为您正在使用的任何适配器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM