在heroku上的Node.js,不能读取未定义的属性'env'

我有一个节点服务器设置端口使用

.listen((process.env.PORT || 5000)); 

我在这里从Github上的Herokutesting代码中获得。 这工作较早,但现在我在我的Heroku日志中得到以下错误,

 }).listen((process.env.PORT || 5000)); at Object.<anonymous> (/app/index.js:35:19) TypeError: Cannot read property 'env' of undefined 

我也尝试在本地运行这个工头运行节点index.js,这也工作较早。 这现在崩溃,除非我改变端口始终设置为5000.任何帮助解决这个问题,非常感谢。

更新

我尝试在本地运行节点(因为我得到相同的错误),variables进程设置,并具有属性.env也设置。

服务器代码

 var server = http.createServer(function(req, res) { if (req.url == "/debug") { res.writeHead(200); res.end(debugPage); } else { var body = ''; req.on('data', function (data) { body += data; }); req.on('end', function () { res.writeHead(200); data = parsePostData(body); if (JSON.stringify(data) == "{}") { res.end("No Data"); } else { res.end(process(data)); } }); } }).listen((process.env.PORT || 5000)); 

它似乎为我工作正常:

服务器(index.js):

 var express = require('express'); var app = express(); app.set('port', (process.env.PORT || 5000)); app.use(express.static(__dirname + '/public')); app.get('/', function(request, response) { response.send('Hello World!'); }); app.listen(app.get('port'), function() { console.log('Node app is running on port', app.get('port')); }); 

Procfile:

 web: node index.js 

演示: https : //vikashvverma.herokuapp.com/

来源: https : //github.com/vikashvverma/Heroku-Sample