2015-09-09 5 views
5

Ich habe gerade NodeJS neu installiert. Vor der Neuinstallation, als ich node -v lief, bekam ich eine Versionsnummer, die etwas wie "0.2.x" sagte ... Es war eine komische Zahl. Und seit ich heute Morgen gelesen habe, wurde Node nur auf Version 4.x.x aktualisiert. Ich dachte, ich sollte es aktualisieren. Außerdem hatte ich andere Probleme, also dachte ich, dass dies der Grund dafür sein könnte.bekomme "Segmentation fault: 11" von NodeJS nach 4.0 Update

Wenn ich die folgenden server.js ausführen, bekomme ich die folgende Konsole ausgedruckt.

server.js ...

var express = require('express'); 
var mongoose = require('mongoose'); 
var bodyParser = require('body-parser'); 
var methodOverride = require('method-override'); 
var _ = require('lodash'); 

// Create the application. 
var app = express(); 

// Add Middleware necessary for REST API's 
app.use(bodyParser.urlencoded({extended: true})); 
app.use(bodyParser.json()); 
app.use(methodOverride('X-HTTP-Method-Override')); 

// CORS Support 
app.use(function(req, res, next) { 
    res.header('Access-Control-Allow-Origin', '*'); 
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); 
    res.header('Access-Control-Allow-Headers', 'Content-Type'); 
    next(); 
}); 

// Connect to MongoDB 
mongoose.connect('mongo connection string......'); 
mongoose.connection.once('open', function() { 

    // Load the models. 
    app.models = require('./models/index'); 

    // Load the routes. 
    var routes = require('./routes'); 
    _.each(routes, function(controller, route) { 
    app.use(route, controller(app, route)); 
    }); 

    console.log('Listening on port 3000...'); 
    app.listen(3000); 
}); 

Die Konsole gibt die folgende, nachdem ich node --debug server.js

Debugger listening on port 5858 
Segmentation fault: 11 

bearbeiten laufen: Ich habe ein anderes Projekt, das aus der MEANJS basiert. Wenn ich die Gruntfile.js starte, bekomme ich eine Segmentation fault: 11 von der Konsole.

Edit # 2: Ich herabgestuft nur v0.12.7 an den Knoten und die Dinge scheinen zu funktionieren normal ...

+0

Könnten Sie Node unter einem Native-Code-Debugger wie GDB ausführen und eine Backtrace bereitstellen? – icktoofay

+0

ich glaube, dass Sie einige native lib in node_modules neu installieren müssen, so dass im Grunde möglicherweise node_modules entfernen und npm erneut installieren müssen. Auch npm-Cache-Clean muss möglicherweise vor der Installation ausgeführt werden. – YOU

+1

@YOU du bist richtig. gehen Sie voran und senden Sie die Antwort –

Antwort

9

Ich glaube, Sie brauchen etwas nativem lib in node_modules neu zu installieren, so dass im Grunde müssen möglicherweise node_modules entfernen, und npm install wieder.

Möglicherweise muss auch vor der Installation ausgeführt werden.

0

Bevor Sie node_modules löschen und dann npm install erneut ausführen, versuchen Sie npm rebuild. Es wird native Module für die neue Version von Node/V8 erneut kompilieren, die Sie installiert haben, ohne alle Dateien erneut herunterladen zu müssen.

npm rebuild sollte funktionieren. Wenn dies nicht der Fall ist, versuchen Sie, node_modules zu löschen und npm install als nukleare Option auszuführen.