Heroku节点应用程序未启动

Posted

技术标签:

【中文标题】Heroku节点应用程序未启动【英文标题】:Heroku node app not starting 【发布时间】:2016-04-09 18:26:22 【问题描述】:

我创建了一个非常基本的 nodejs 应用程序,可以在本地运行。当我将它推送到我的 heroku 服务器时,应用程序因日志中的以下错误而崩溃

var express = require("express");

var bodyParser = require("body-parser");

var app = express();
var port = process.env.PORT||3000;

app.use(bodyParser.urlencoded(extended:true));

app.get('/',function(req,res)res.status(200).send('Hello World'));

app.use(function (err, req, res, next) 
  console.error(err.stack);
  res.status(400).send(err.message);
);

app.listen(port, function () 
  console.log('Slack bot listening on port ' + port);
);
2016-01-05T19:39:14.346745+00:00 heroku[web.1]: Starting process with

command `npm start` 2016-01-05T19:39:16.207970+00:00 app[web.1]: npm

ERR! Linux 3.13.0-71-generic 2016-01-05T19:39:16.209056+00:00

app[web.1]: npm ERR! npm  v3.3.12 2016-01-05T19:39:16.210546+00:00

app[web.1]: npm ERR!  2016-01-05T19:39:16.210779+00:00 app[web.1]: npm

错误! https://github.com/npm/npm/issues

package.json


  "name": "slackbot",
  "version": "1.0.0",
  "description": "Slack Hello World Bot",
  "main": "app.js",
  "scripts": 
    "test": "echo \"Error: no test specified\" && exit 1"
  ,
  "repository": 
    "type": "git",
    "url": "git+https://github.com/fffff/SlackBot.git"
  ,
  "author": "Jasim Aboobacker",
  "license": "ISC",
  "bugs": 
    "url": "https://github.com/fffff/SlackBot/issues"
  ,
  "homepage": "https://github.com/fffff/SlackBot#readme",
  "dependencies": 
    "body-parser": "^1.14.2",
    "express": "^4.13.3"
  

【问题讨论】:

你是什么npm startpackage.json中的命令入口? @usandfriends 添加了我的 package.json 你有Procfile吗? @usandfriends No.. 这个项目结构是手动创建的......现在我使用 heroku 'create' 创建了一个新的 nodejs 项目,它正在服务器上运行。 【参考方案1】:

只需按照这些步骤一一进行,它应该可以很好地工作。 从网站下载并安装 node 和 npm。

link node

link npm

其余命令如下

sudo -i

如果询问,请输入 root 密码。

现在通过 cmd/terminal 进入你选择的项目文件夹

 npm install -g express
 npm install -g express-generator
 express
 cd . && npm install
 SET DEBUG=<*folder name*>:* & npm start

现在在文件夹中输入以下命令来设置 git 本地目录。

 git init
 git add .
 git commit -m "initial commits"

然后在 Heroku 中创建一个帐户并按照以下步骤操作。

 heroku create <application_name>
 git push heroku master

nb:在此过程中,您可能会被要求提供您的 heroku 帐户的用户名和密码;因此请继续进行。

现在键入以下内容以添加单个网络测功器

 heroku ps:scale web=1

然后

 heroku open

干杯!!

【讨论】:

以上是关于Heroku节点应用程序未启动的主要内容,如果未能解决你的问题,请参考以下文章

Heroku节点+反应应用程序:未处理的锚标记身份验证请求

Heroku 无法启动我的节点应用程序,因为它试图用 nodemon 来做

如何在不杀死未完成的芹菜任务的情况下重新启动heroku应用程序

Heroku 节点 js 部署问题:Web 进程在启动后 60 秒内无法绑定到 $PORT

看到错误模块未找到:heroku 应用程序中的 'pg-native'

Firebase Angular 应用程序未连接 Heroku 上的 h NodeJS 应用程序