Buduję aplikację węzła za pomocą programu Expressjs i próbuję uruchomić aplikację węzła na świeżo zainstalowanym systemie Ubuntu (właśnie zainstalowałem git i węzeł v 0.10. 19).Węzeł roboczy (express) na linuksie produkuje Błąd: spawn EACCES
Niestety jednak, dostaję następujący komunikat o błędzie podczas próby uruchomienia aplikacji w terminalu:
Events.js:72
throw er; // unhandled 'error' event
Error: spawn EACCES
biegnę na porcie 3000 i używam sudo. Próbowałem także jako root, a także grałem z różnymi portami powyżej progu 1024.
Aplikacja jest tylko podstawowe Expressjs i używam metody domyślnej do otwierania gniazdo aplikacji:
app.listen(3000);
jestem noob Linux więc każda pomoc jest mile widziana. aplikacja jest po prostu świetna w systemie Windows.
Podstawowy kod serwera:
var express = require('express')
, app = express()
, fs = require ('fs')
, lingua = require('lingua');
process.env.NODE_ENV = 'development';
app.configure(function(){
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
app.setMaxListeners(100);
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use(express.favicon(__dirname + '/public/core/favicon.ico'));
app.use(lingua(app, {
defaultLocale: 'translation_',
storageKey: 'lang',
path: __dirname+'/public/translations/',
cookieOptions: {
httpOnly: false,
expires: new Date(Date.now(-1)),
secure: false
}
}));
app.use(app.router);
app.locals.pretty = true;
});
app.configure('development', function(){
app.enable('verbose errors');
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
app.configure('production', function(){
app.disable('verbose errors');
app.use(express.errorHandler());
});
require('./lib/routing/routing')(app,{ verbose: !module.parent });
app.listen(3000);
można przetestować samemu instalując: npm install mediacenterjs
to jeszcze zdarzyć z 'require (http) .createServer (app) .listen (3000)' – Plato
Testowanie to teraz :) Chwileczkę! – jansmolders86
oh przepraszam, zapomniałem cytaty. Nie mogę już edytować mojego poprzedniego komentarza, ale powinien on brzmieć: 'require ('http'). createServer (app) .listen (3000)'. nie musisz instalować http, jest on wbudowany. – Plato