Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在Heroku系统变量中设置主文件夹?_Node.js_Heroku_Config_System Variable - Fatal编程技术网

Node.js 如何在Heroku系统变量中设置主文件夹?

Node.js 如何在Heroku系统变量中设置主文件夹?,node.js,heroku,config,system-variable,Node.js,Heroku,Config,System Variable,我正在Heroku dyno上部署一个node.js应用程序,使用它需要定义一个系统变量node\u CONFIG\u DIR,其中包含CONFIG文件夹的位置 config文件夹位于我的项目根目录中 我尝试使用以下值定义系统变量NODE\u CONFIG\u DIR,但均失败: ./config ~/config app/config ~/app/config ./app/config $HOME/config $HOME/app/config 我不断地发现这个错误: WARNING: No

我正在Heroku dyno上部署一个node.js应用程序,使用它需要定义一个系统变量
node\u CONFIG\u DIR
,其中包含
CONFIG
文件夹的位置

config
文件夹位于我的项目根目录中

我尝试使用以下值定义系统变量
NODE\u CONFIG\u DIR
,但均失败:

./config
~/config
app/config
~/app/config
./app/config
$HOME/config
$HOME/app/config
我不断地发现这个错误:

WARNING: No configurations found in configuration directory:app/config
(用上述任何值替换
app/config

我设法设置了一个系统变量,但它的值没有指向正确的位置


在Heroku中使用系统变量时,引用my tree根目录的正确方法是什么?

基于文档-如果
config
文件夹位于应用程序的根目录中,则不需要指定
$NODE\u config\u DIR
环境变量


从节点配置: 节点配置为正在运行的进程读取“./config”目录中的配置文件,通常是应用程序根目录。通过将
$NODE\u CONFIG\u DIR
环境变量设置为包含配置文件的目录,可以覆盖此设置。在加载
节点配置之前,也可以从节点进行设置:

process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";
const config = require("config");
$NODE\u CONFIG\u DIR
可以是根目录的完整路径,如果值以
/
开头,则可以是进程的相对路径。



您可以使用上面的代码从节点代码设置它。

您很接近:
/app
是正确的路径。您可以通过运行heroku run bash来验证它

这是我的错误

两个答案都是正确的,但没有解决我的问题


问题是,我的配置文件名使用小写,而
NODE_ENV
值是大写。

假设您可以让库找到该目录,您打算如何用配置文件填充它?你可能应该读一读关于希罗库的书和它的方式。