我正在使用Heroku开发一个使用Hubot框架的应用程序。
我在Heroku上设置了一些配置变量,当我部署代码时,我的process.env
引用工作正常。
但是,我在使用配置变量进行测试时设置本地开发系统时遇到了麻烦。我有一个.env文件,并从Heroku获取了所有配置变量。但是,当我在命令行启动我的应用程序时,似乎没有加载.env文件。
我已添加hubot-env(按照Hubot - load environmental variables from a file的建议)并且每次使用命令启动我的应用时都可以手动加载我的.env文件
hubot env load --filename=[filename]
我想自动执行此操作,因此当我启动机器人时会自动执行此命令。我在哪里可以配置它?
答案 0 :(得分:1)
这是一个非常古老的问题,但我现在正在研究 Hubot,需要为后代保存这个。
我现在就是这样做的。它无需添加额外的文件或包即可工作:
"scripts": {
"start": "export $(cat .env | xargs) && ./bin/hubot -a slack"
}
将您的适配器从 slack
更改为您正在使用的任何内容。
答案 1 :(得分:0)
关于这个issue我理解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