我已经从使用dotcloud转到heroku。我正在使用nconf作为配置。我有它的设置,它首先从环境变量抓取,如果没有,那么它从config.json文件抓取。在本地主机上,工作正常。对于我的版本号,我将其存储在配置文件中,而不是环境变量中,这样我就可以在push上设置它,然后就不必更改环境了。
app.coffee
nconf.argv().env().file file: "./config.json"config.json
{
"APP_BUILD_NUMBER": "1.0.0"
}如果在本地或在dotcloud上运行此操作,则nconf将正确地传递1.0.0。
nconf.get("APP_BUILD_NUMBER")但是,在heroku上,它返回的是未定义的。如果我确实在环境变量中设置了它,那么它就能工作。我想知道我做错了什么。
发布于 2014-03-18 18:05:41
尝试删除路径的“./”部分:
nconf.argv().env().file file: "config.json"如果那不起作用,试试
nconf.argv().env().file file: __dirname + "/config.json"发布于 2014-03-20 21:33:14
我建议运行heroku run bash,然后输入Node并尝试多个路径,直到找出不同之处为止。做一个更改,然后等待推送,这是一个冗长的调试周期。我怀疑您的问题是围绕路径,或可能没有取消环境变量。
https://stackoverflow.com/questions/22428957
复制相似问题