2012-02-29 4 views
1

Когда я запускаю мое приложение узла, я получаю сообщение об ошибке, прежде чем он выйдет:NodeJS - локальная область видимости уже закрыта (фатальная ошибка)

FATAL ERROR: v8::HandleScope::Close() Local scope has already been closed

охотясь вокруг на группах Google, одна теории у меня есть что у меня конфликт версий узла. Но я не уверен, как это решить.

Примечание: У меня есть другой сервер socket.IO, работающий на этой машине. Может ли это быть виновником?

(function() { 
    "use strict"; 

    var express = require("express"); 

    var app = module.exports = express.createServer(), 
     util = require("util"), 
     socketIO = require("socket.io"), 
     connect = require("connect"), 
     Room = require("./rooms/models").Room, 
     User = require("./users/models").User, 
     Abuse = require("./abusers/models").Abuse, 
     guid = require("./utils").guid, 
     forceLatency = require("./utils").forceLatency, 
     latencyWrap = require("./utils").latencyWrap, 
     config = require("./config"), 
     log = require("./log"), 
     mergeStatic = require("./mergeStatic"), 
     geoip = require("geoip"), 
     httpdigest = require('http-digest'), 
     authServer = require('./authentication/server').authServer(), 
     feedbackServer = require('./feedback/server').feedbackServer(), 
     dnode = require("dnode"); 



    var registerAppRoutes = function(app) { 
     //code code code 
    } 

    function registerSocketIO(app) { 
     // code code code 

    } 

    mergeStatic(function (jsHash, cssHash) { 

     app.helpers({ 
      jsHash: jsHash, 
      cssHash: cssHash 
     }); 

     registerAppRoutes(app); 
     registerSocketIO(app); 

     app.listen(config.port);   
     util.puts("Server started on port " + config.port);     

    }); 


}()); 
+2

Никто не может помочь вам без публикации кода. Это здравый смысл :) – Sarfraz

+0

Не обязательно. Мой файл приложения огромен, и он отлично работает на другой машине. Фактически, он отлично работает на этой машине - я просто запускаю приложение на другом порту (для постановки целей), и он ломается. –

+0

Но все же мы не можем догадаться, как решить конфликт, не видя, как выглядит код. – pduersteler

ответ

0

ОК, поэтому моя догадка была права. Я очистил каталог node_modules с rm -rf и запустил «node app.js», а затем «npm install modulename» снова и снова, пока все мои зависимости не были исправлены. Не могу дождаться, пока узел не станет отличным решением для управления зависимостями!

Теперь все работает.