我正在尝试在本地设置现有的Heroku应用。为此,我从Github的仓库中git cloned
开始使用该应用。然后,我为heroku添加了git remote
。
通常,服务器构建是通过Travis CI
进行的,但是现在我想直接从heroku
在本地运行应用。
heroku config
可以很好地返回配置变量。
但是heroku local web
返回错误
抛出新错误('配置属性“'+属性+'”未定义');
错误:未定义配置属性“ redis.url”
redis.js
import config from 'config';
const redis = new Redis(config.get('redis.url'), {
keyPrefix: 'kw:',
});
config
文件夹位于我的仓库的根目录中。
config / default.js
import dotenv from 'dotenv';
dotenv.config({ silent: true });
module.exports = {
...,
redis: {
url: process.env.REDIS_URL || process.env.REDISCLOUD_URL,
},
...
}
package.js
中的相关脚本 "start:server": "./node_modules/.bin/babel-node src/server.js",
"start:worker": "./node_modules/.bin/babel-node src/worker/worker.js",
"start": "./node_modules/.bin/nf start",
如果我运行npm run start:server
,则会收到相同的错误。
如果我注释掉redis.url
代码,则会遇到相同的错误,但会出现config
中的另一个变量。
我想念什么?让我知道是否需要澄清。
答案 0 :(得分:0)
我必须创建一个本地.env
文件。
我很困惑,因为我读到您不需要Heroku的.env
文件。但这似乎不是本地设置的情况。
答案 1 :(得分:0)
heroku config -s > .env
似乎会将这些文件复制到本地 .env。这不是默认设置似乎很奇怪,但确实如此。
完成后,使用 heroku local
运行您的应用。