Expressjsを使用してノードアプリを構築していて、新しくインストールしたUbuntuでノードアプリを実行しようとしています(gitとnode v 0.10.19をインストールしたばかりです)。
残念ながら、ターミナルでアプリを実行しようとすると、次のエラーが発生します。
Events.js:72
throw er; // unhandled 'error' event
Error: spawn EACCES
ポート3000で実行していて、Sudoを使用しています。また、rootとして試し、1024のしきい値を超えるさまざまなポートを試してみました。
アプリは基本的なExpressjsであり、アプリソケットを開くためにデフォルトの方法を使用しています。
app.listen(3000);
私はLinuxの初心者なので、助けていただければ幸いです。ちなみに、このアプリはWindows上でうまく機能します。
基本的なサーバーコード:
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);
次をインストールして、自分でテストできます。npm install mediacenterjs
ファイルのパーミッションを正しく設定することで解決しました。
読み取り/書き込みおよび実行権限を設定することで機能します。
Sudo chmod -R a+rwx APPNAME/file