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 start
package.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 无法启动我的节点应用程序,因为它试图用 nodemon 来做
如何在不杀死未完成的芹菜任务的情况下重新启动heroku应用程序
Heroku 节点 js 部署问题:Web 进程在启动后 60 秒内无法绑定到 $PORT