2015-09-09 6 views
5

NodeJSを再インストールしました。再インストールの前に、私がnode -vを実行したとき、私は「0.2.x」のようなものを言ったバージョン番号を得ました...それは奇妙な数でした。そして、私が今朝読んだので、Nodeはバージョン4.x.xに更新されました。私はそれを更新すべきだと思っていました。また、私は他の問題を抱えていたので、これがその理由かもしれないと思った。4.0アップデート後にNodeJSから "Segmentation fault:11"を取得しました

次のserver.jsを実行すると、次のコンソールが表示されます。

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); 
}); 

コンソールは、私がnode --debug server.js

Debugger listening on port 5858 
Segmentation fault: 11 

編集を実行した後、次のように出力されます私はMEANJSのオフに基づいて別のプロジェクトを持っています。私がGruntfile.jsを実行すると、コンソールからSegmentation fault: 11が得られます。

編集#2:私はちょうどv0.12.7をノードAに格下げされ、物事が通常の作業をしているようだ...

+0

NodeをGDBのようなネイティブコードデバッガで実行し、バックトレースを提供できますか? – icktoofay

+0

私はあなたがnode_modulesにいくつかのネイティブlibを再インストールする必要があると思うので、基本的にnode_modulesを削除し、npmのインストールを再度行う必要があります。また、インストール前にnpm cache cleanを実行する必要があります。 – YOU

+1

@YOUあなたは正しいです。先に進んで答えを提出してください –

答えて

9

私はあなたがnode_modulesに、いくつかのネイティブのlibを再インストールする必要があると考えているので、基本的にnode_modulesを削除する必要があるかもしれません、再びnpm installになります。

また、npm cache cleanは、インストールする前に実行する必要があります。

0

node_modulesを削除してからnpm installを再度実行する前に、npm rebuildを試してください。すべてのファイルを再度ダウンロードせずに、インストールしたノード/ V8の新バージョンのネイティブ・モジュールを再コンパイルします。

npm rebuildが有効です。しかし、そうでない場合は、node_modulesを削除し、npm installを実行してみてください。