【问题标题】:Node-Foreman not loading env variables when deployed to Heroku部署到 Heroku 时 Node-Foreman 未加载环境变量
【发布时间】:2016-06-04 17:39:07
【问题描述】:

我正在使用节点工头加载一些环境变量,例如我的数据库字符串和一些 Gmail 凭据以发送电子邮件。

我的变量已正确加载到本地,但在部署到 Heroku 时无法加载。

package.json

{
  "name": "mysite",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "dependencies": {
    "body-parser": "*",
    "express": "*",
    "foreman": "1.4.1",
    "method-override": "*",
    "mongoose": "*",
    "nodemailer": "*"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nf start"
  },
  "engines": {
    "node": "*"
  },
  "author": "",
  "license": "ISC"
}

.env

DB_URL='dbstring'
EMAIL_SERVICE='Gmail'
EMAIL_USERNAME='foo@bar.com'
EMAIL_PASSWORDTOKEN='pwtoken'

过程文件

web: node server.js

node-foreman 文档对 .gitignore 说,如果部署到 heroku,这需要撤消吗?节点工头和 Heroku 都没有说必须发生,所以我不认为。但我没有想法。

环境对象在生产环境下的快照

环境

{ WEB_MEMORY: '512',
PATH: '/app/.heroku/node/bin:/usr/local/bin:/usr/bin:/bin:/app/bin:/app/node_modules/.bin',
WEB_CONCURRENCY: '1',
PWD: '/app',
NODE_ENV: 'production',
PS1: '\\[\\033[01;34m\\]\\w\\[\\033[00m\\] \\[\\033[01;32m\\]$ \\[\\033[00m\\]',
SHLVL: '1',
HOME: '/app',
NODE_HOME: '/app/.heroku/node',
PORT: '34225',
_: '/app/.heroku/node/bin/node' }

Link to Heroku's documentation regarding Node-Foreman

Link to Node-Foreman's GitHub

【问题讨论】:

    标签: node.js heroku


    【解决方案1】:

    对于将来阅读本文的任何人,当我意识到 Heroku 有自己的一组环境变量时,我有一个“啊哈”的时刻,你可以通过 Foreman 将使用的 cmd/仪表板设置它。

    【讨论】:

      猜你喜欢
      • 2017-06-25
      • 2019-07-24
      • 1970-01-01
      • 2020-03-06
      • 1970-01-01
      • 2019-10-06
      • 1970-01-01
      • 2017-08-11
      • 2019-10-31
      相关资源
      最近更新 更多