2012-08-26 7 views
14

Sto scrivendo un'applicazione nodo e di recente sono passato dalla porta 3000 alla porta 80 sulla macchina Mac Os X Lion (in esecuzione 10.7.4) e ogni volta che eseguo node server.js viene visualizzato il seguente erroreScrittura di un'applicazione nodo e rilevamento di un errore durante l'esecuzione di 'node server.js'

events.js:66 
    throw arguments[1]; // Unhandled 'error' event 
       ^
Error: listen EACCES 
    at errnoException (net.js:768:11) 
    at HTTPServer.Server._listen2 (net.js:891:19) 
    at listen (net.js:935:10) 
    at HTTPServer.Server.listen (net.js:984:5) 
    at Object.<anonymous> (/Users/ajain/Documents/Projects/Time-Feed/server.js:127:5) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.runMain (module.js:492:10) 

Qualche idea su cosa devo fare per risolvere il problema?

+0

Avete qualche altro server in esecuzione sulla porta 80? – murgatroid99

risposta

27

È necessario disporre del privilegio di root per l'ascolto su un numero di porta inferiore a 1024. Pertanto, è possibile utilizzare il comando sudo.

sudo node server.js 
+0

Grazie mille. Puoi spiegare perché ho avuto quel problema? – mosquito242

+1

@ mosquito242 È perché le porte <1024 sono privilegiate – JustSid

+0

@justsid oh ok. ha senso. – mosquito242

2

Se sudo non ha aiutato basta cambiare la porta a qualcosa come 1234 o forse 2000 o 3000.

Problemi correlati