推送节点应用到heroku节点有问题./bin/www

Having issue pushing node app to heroku node ./bin/www?

本文关键字:节点 www bin 有问题 应用 heroku      更新时间:2023-09-26

我见过一些这样的,但我似乎不能得到任何工作。将我的应用程序推送到heroku后,我得到一个应用程序错误。这个应用程序是使用控制台$ express -e中的命令创建的。post是我的日志和。/bin/www文件。谢谢你的帮助

www文件:

#!/usr/bin/env node
/**
 * Module dependencies.
 */
var app = require('../app');
var debug = require('debug')('chore-tracker:server');
var http = require('http');
/**
 * Get port from environment and store in Express.
 */
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
/**
 * Create HTTP server.
 */
var server = http.createServer(app);
/**
 * Listen on provided port, on all network interfaces.
 */
server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
/**
 * Normalize a port into a number, string, or false.
 */
function normalizePort(val) {
  var port = parseInt(val, 10);
  if (isNaN(port)) {
    // named pipe
    return val;
  }
  if (port >= 0) {
    // port number
    return port;
  }
  return false;
}
/**
 * Event listener for HTTP server "error" event.
 */
function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }
  var bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port
  // handle specific listen errors with friendly messages
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}
/**
 * Event listener for HTTP server "listening" event.
 */
function onListening() {
  var addr = server.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  debug('Listening on ' + bind);
}

日志:

2015-07-11T22:05:38.685748+00:00 app[web.1]: > node ./bin/www
2015-07-11T22:05:38.685749+00:00 app[web.1]: 
2015-07-11T22:05:39.520258+00:00 app[web.1]: Port 48390 is already in use
2015-07-11T22:05:39.517119+00:00 app[web.1]: Server Running on port:48390
2015-07-11T22:05:39.576888+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2015-07-11T22:05:39.577550+00:00 app[web.1]: npm ERR! Failed at the chore-     tracker@0.0.0 start script 'node ./bin/www'.
2015-07-11T22:05:39.578012+00:00 app[web.1]: npm ERR! Tell the author that this fails on your system:
2015-07-11T22:05:39.578136+00:00 app[web.1]: npm ERR!     node ./bin/www

这个问题我在其他地方见过,但我发现没有任何答案有效。如果我发布了我的app.js文件,可能会有所帮助。Heroku不喜欢的是,我的app.js文件和./bin/www文件中都有"app.listen(port);"。我在我的app.js文件中注释掉了一个,所以只有www文件在监听,然后将更改提交给git,并推回heroku master。然后是$ heroku open,它成功了