2013-08-11 12 views
8

Ich habe den folgenden CodeFehler: hören EACCES auf Openshift App

var express = require('express') 
    , app = express() 
    , server = require('http').createServer(app) 
    , io  = require('socket.io').listen(server) 
    , connect = require('connect') 
    , pg  = require('pg') 
    , Client = pg.Client; 

// Setup express middleware 
app.use(express.static('public')); 
app.use(connect.logger()); 

// Start the server 
var port = process.env.OPENSHIFT_INTERNAL_PORT || 8080 
    , ip = process.env.OPENSHIFT_INTERNAL_IP || "127.0.0.1"; 
server.listen(port, ip); 

Aber wenn die App automatisch starten oder ich starten Sie es manuell mit Knoten Ich erhalte immer die Fehlermeldung: „warnen: Fehler ausgelöst: Fehler: hören EACCES“

der Inhalt package.json:

{ 
    "name"  : "test-app", 
    "version"  : "0.0.1-1-alpha", 
    "description" : "test-app", 
    "dependencies": { 
     "express" : "3.1.x", 
     "connect" : "*", 
     "socket.io" : "0.9.x", 
     "i18next" : "1.6.x", 
     "bower"  : "1.1.1", 
     "pg"  : "*" 
    }, 
    "engines": { 
     "node" : ">=0.10", 
     "npm" : "1.3.x" 
    }, 
    "scripts": { 
     "start" : "node app" 
    } 
} 

Was kann ich tun, um das Problem zu lösen? Das Beispiel server.js von openshift hat dieses Problem nicht, aber es verwendet Express 2.x.

Antwort

21

Sieht so aus, als ob Sie alte Umgebungsvariablen verwenden. Versuchen Sie:

// Start the server. 
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080 
, ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";