2015-09-13 3 views
3

J'essaie d'exécuter un project. mais son donnant une erreurErreur: ENOENT, aucun fichier ou répertoire '/ usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript/app/modèles

fs.js:666 
    return binding.readdir(pathModule._makeLong(path)); 
       ^
Error: ENOENT, no such file or directory '/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript/app/models' 
    at Object.fs.readdirSync (fs.js:666:18) 
    at require_tree (/home/shubham/Documents/Node/lets-chat/node_modules/require-tree/index.js:37:24) 
    at Object.<anonymous> (/home/shubham/Documents/Node/lets-chat/app.js:33:14) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Function.Module.runMain (module.js:497:10) 
    at startup (node.js:119:16) 
    at node.js:935:3 

npm ERR! [email protected] start: `node app.js` 
npm ERR! Exit status 8 
npm ERR! 
npm ERR! Failed at the [email protected] start script. 
npm ERR! This is most likely a problem with the lets-chat package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node app.js 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls lets-chat 
npm ERR! There is likely additional logging output above. 
npm ERR! System Linux 3.16.0-49-generic 
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "start" 
npm ERR! cwd /home/shubham/Documents/Node/lets-chat 
npm ERR! node -v v0.10.37 
npm ERR! npm -v 1.4.28 
npm ERR! code ELIFECYCLE 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/shubham/Documents/Node/lets-chat/npm-debug.log 
npm ERR! not ok code 0 

et app.js fichier est:

'use strict'; 

process.title = 'letschat'; 

require('colors'); 

var _ = require('lodash'), 
    fs = require('fs'), 
    express = require('express.oi'), 
    i18n = require('i18n'), 
    bodyParser = require('body-parser'), 
    cookieParser = require('cookie-parser'), 
    compression = require('compression'), 
    helmet = require('helmet'), 
    http = require('http'), 
    nunjucks = require('nunjucks'), 
    mongoose = require('mongoose'), 
    migroose = require('./migroose'), 
    connectMongo = require('connect-mongo'), 
    all = require('require-tree'), 
    psjon = require('./package.json'), 
    settings = require('./app/config'), 
    auth = require('./app/auth/index'), 
    core = require('./app/core/index'); 

var MongoStore = connectMongo(express.session), 
    httpEnabled = settings.http && settings.http.enable, 
    httpsEnabled = settings.https && settings.https.enable, 
    models = all('./app/models'), 
    middlewares = all('./app/middlewares'), 
    controllers = all('./app/controllers'), 
    app; 

// 
// express.oi Setup 
// 
if (httpsEnabled) { 
    app = express().https({ 
     key: fs.readFileSync(settings.https.key), 
     cert: fs.readFileSync(settings.https.cert) 
    }).io(); 
} else { 
    app = express().http().io(); 
} 

if (settings.env === 'production') { 
    app.set('env', settings.env); 
    app.set('json spaces', undefined); 
    app.enable('view cache'); 
} 

// Session 
var sessionStore = new MongoStore({ 
    url: settings.database.uri, 
    autoReconnect: true 
}); 

// Session 
var session = { 
    key: 'connect.sid', 
    secret: settings.secrets.cookie, 
    store: sessionStore, 
    cookie: { secure: httpsEnabled }, 
    resave: false, 
    saveUninitialized: true 
}; 

// Set compression before any routes 
app.use(compression({ threshold: 512 })); 

app.use(cookieParser()); 
app.io.session(session); 

auth.setup(app, session, core); 

// Security protections 
app.use(helmet.frameguard()); 
app.use(helmet.hidePoweredBy()); 
app.use(helmet.ieNoOpen()); 
app.use(helmet.noSniff()); 
app.use(helmet.xssFilter()); 
app.use(helmet.hsts({ 
    maxAge: 31536000, 
    includeSubdomains: true, 
    force: httpsEnabled, 
    preload: true 
})); 
app.use(helmet.contentSecurityPolicy({ 
    defaultSrc: ['\'none\''], 
    connectSrc: ['*'], 
    scriptSrc: ['\'self\'', '\'unsafe-eval\''], 
    styleSrc: ['\'self\'', 'fonts.googleapis.com', '\'unsafe-inline\''], 
    fontSrc: ['\'self\'', 'fonts.gstatic.com'], 
    mediaSrc: ['\'self\''], 
    objectSrc: ['\'self\''], 
    imgSrc: ['*'] 
})); 

var bundles = {}; 
app.use(require('connect-assets')({ 
    paths: [ 
     'media/js', 
     'media/less' 
    ], 
    helperContext: bundles, 
    build: settings.env === 'production', 
    fingerprinting: settings.env === 'production', 
    servePath: 'media/dist' 
})); 

// Public 
app.use('/media', express.static(__dirname + '/media', { 
    maxAge: '364d' 
})); 

// Templates 
var nun = nunjucks.configure('templates', { 
    autoescape: true, 
    express: app, 
    tags: { 
     blockStart: '<%', 
     blockEnd: '%>', 
     variableStart: '<$', 
     variableEnd: '$>', 
     commentStart: '<#', 
     commentEnd: '#>' 
    } 
}); 

function wrapBundler(func) { 
    // This method ensures all assets paths start with "./" 
    // Making them relative, and not absolute 
    return function() { 
     return func.apply(func, arguments) 
        .replace(/href="\//g, 'href="./') 
        .replace(/src="\//g, 'src="./'); 
    }; 
} 

nun.addFilter('js', wrapBundler(bundles.js)); 
nun.addFilter('css', wrapBundler(bundles.css)); 
nun.addGlobal('text_search', false); 

// i18n 
i18n.configure({ 
    directory: __dirname + '/locales', 
    defaultLocale: settings.i18n && settings.i18n.locale || 'en' 
}); 
app.use(i18n.init); 

// HTTP Middlewares 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 

// IE header 
app.use(function(req, res, next) { 
    res.setHeader('X-UA-Compatible', 'IE=Edge,chrome=1'); 
    next(); 
}); 

// 
// Controllers 
// 
_.each(controllers, function(controller) { 
    controller.apply({ 
     app: app, 
     core: core, 
     settings: settings, 
     middlewares: middlewares, 
     models: models, 
     controllers: controllers 
    }); 
}); 

// 
// Mongo 
// 

mongoose.connection.on('error', function (err) { 
    throw new Error(err); 
}); 

mongoose.connection.on('disconnected', function() { 
    throw new Error('Could not connect to database'); 
}); 

// 
// Go Time 
// 

function startApp() { 
    var port = httpsEnabled && settings.https.port || 
       httpEnabled && settings.http.port; 

    var host = httpsEnabled && settings.https.host || 
       httpEnabled && settings.http.host || '0.0.0.0'; 



    if (httpsEnabled && httpEnabled) { 
     // Create an HTTP -> HTTPS redirect server 
     var redirectServer = express(); 
     redirectServer.get('*', function(req, res) { 
      var urlPort = port === 80 ? '' : ':' + port; 
      res.redirect('https://' + req.hostname + urlPort + req.path); 
     }); 
     http.createServer(redirectServer) 
      .listen(settings.http.port || 5000, host); 
    } 

    app.listen(port, host); 

    // 
    // XMPP 
    // 
    if (settings.xmpp.enable) { 
     var xmpp = require('./app/xmpp/index'); 
     xmpp(core); 
    } 

    var art = fs.readFileSync('./app/misc/art.txt', 'utf8'); 
    console.log('\n' + art + '\n\n' + 'Release ' + psjon.version.yellow + '\n'); 
} 

function checkForMongoTextSearch() { 
    if (!mongoose.mongo || !mongoose.mongo.Admin) { 
     // MongoDB API has changed, assume text search is enabled 
     nun.addGlobal('text_search', true); 
     return; 
    } 

    var admin = new mongoose.mongo.Admin(mongoose.connection.db); 
    admin.buildInfo(function (err, info) { 
     if (err || !info) { 
      return; 
     } 

     var version = info.version.split('.'); 
     if (version.length < 2) { 
      return; 
     } 

     if(version[0] < 2) { 
      return; 
     } 

     if(version[0] === '2' && version[1] < 6) { 
      return; 
     } 

     nun.addGlobal('text_search', true); 
    }); 
} 

mongoose.connect(settings.database.uri, function(err) { 
    if (err) { 
     throw err; 
    } 

    checkForMongoTextSearch(); 

    migroose.needsMigration(function(err, migrationRequired) { 
     if (err) { 
      console.error(err); 
     } 

     else if (migrationRequired) { 
      console.log('Database migration required'.red); 
      console.log('Ensure you backup your database first.'); 
      console.log(''); 
      console.log(
       'Run the following command: ' + 'npm run migrate'.yellow 
      ); 

      return process.exit(); 
     } 

     startApp(); 
    }); 
}); 
+0

Est-ce que vous exécutez 'NPM install'? –

+0

oui qui a réussi –

Répondre

1

Vous devez exécuter npm install dans le répertoire racine, puis j'ai trouvé il y a une dépendance très ancienne, vous devez changer , faites ceci:

Ouvrir le fichier package.json et remplacer:

"passport": "^0.2.2", 
"passport-http": "^0.2.2", 

Avec ceci:

"passport": "~0.3", 
"passport-http": "~0.3", 

Ensuite, exécutez npm install

Et lorsque vous êtes prêt course npm start

Il fonctionne très bien.

+0

après avoir modifié cette erreur –

0

Cette erreur peut être frustrante et incohérente, la solution est de désinstaller les packages localement et globalement et de les réinstaller avec des versions appropriées ou de mettre à jour les modules.

Essayer de mettre à niveau les modules sans désinstaller cette erreur provoque parfois

npm uninstall <package> 
npm uninstall <package> -g 

npm install <package>