【问题标题】:Heroku NODE_ENV environment variableHeroku NODE_ENV 环境变量
【发布时间】:2014-03-16 22:02:07
【问题描述】:

我正在运行一个以 Heroku 作为主要部署目标的 Node 项目。在开发环境中,我使用 grunt 启动 Web 服务器,但在生产环境中,我更喜欢直接使用 node app 启动应用程序

这是我的 Procfile:

web: bin/web

还有 bin/web:

#!/bin/sh                                                                       
echo "NODE_ENV=" $NODE_ENV
if [ "$NODE_ENV" == "production" ]; then
    echo "Starting the server with node app"
    node app
else
    echo "Starting the server using grunt"
    grunt
fi

第一个echo 用于调试。 heroku 日志显示:

app[web.1]: NODE_ENV=

基本上,没有设置 NODE_ENV 的意思。 (并且应用以 grunt 而不是 node app 开头)

docs 表示“NODE_ENV 环境变量默认为生产环境,但您可以根据需要覆盖它”

我错过了什么?

【问题讨论】:

    标签: node.js heroku


    【解决方案1】:

    不确定你是否发现了这一点,但我遇到了同样的问题并使用以下方法修复了它:

    heroku config:set NODE_ENV=production
    

    通过https://devcenter.heroku.com/articles/nodejs-support

    祝你好运!

    【讨论】:

    • 你把这个放在你的 procfile 里了吗?
    • 我是个白痴,这是你在命令行中运行的东西,它看起来类似于 procfile,所以我很困惑。
    猜你喜欢
    • 2020-01-01
    • 2017-09-02
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2019-07-24
    • 2019-09-01
    相关资源
    最近更新 更多