web-dev-qa-db-ja.com

Linuxでノード(エクスプレス)を実行すると、エラーが発生します:EACCESを生成します

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

14
jansmolders86

ファイルのパーミッションを正しく設定することで解決しました。

読み取り/書き込みおよび実行権限を設定することで機能します。

  Sudo chmod -R a+rwx APPNAME/file
20
jansmolders86