it-swarm.com.de

GYP ERR! Fehler beim Bauen Stapelfehler: 'make' ist mit Exitcode 2 fehlgeschlagen

Ich arbeite gerade an einer nodejs-Webanwendung. Ich habe Probleme, die Anwendung online mit Cloud Foundry zu pushen. Ich habe einige Nachforschungen zu den Fehlern durchgeführt und es scheint, dass einige der installierten Pakete Konflikte aufweisen.

Dies ist die package.json-Datei.

{
  "dependencies": {
    "c3": "^0.4.12",
    "cfenv": "1.0.0",
    "cloudant": "^1.8.0",
    "dygraphs": "^2.0.0",
    "express": "4.5.1",
    "getmac": "1.0.6",
    "http": "0.0.0",
    "mqtt": "1.0.5",
    "properties": "1.2.1",
    "save": "^2.3.0",
    "sockjs": "0.3.9",
    "websocket-multiplex": "0.1.x"
  },
  "description": "description.",
  "license": "UNLICENSED",
  "main": "app.js",
  "repository": {
    "type": "git",
    "url": "<gitUrl>"
  }
}

Dies ist der Fehler, den ich erhalte, wenn ich versuche, die Anwendung über Cloud Foundry zu pushen. Dieser ähnliche Fehler tritt auf, wenn ich npm installiere, nachdem der gesamte Inhalt des Ordners node_modules gelöscht wurde.

../src/bufferutil.cc:32:50: error: call of overloaded 'NODE_SET_METHOD(v8::Local<v8::FunctionTemplate>&, const char [6], void (&)(const v8::FunctionCallbackInfo<v8::Value>&))' is ambiguous
     NODE_SET_METHOD(t, "merge", BufferUtil::Merge);

../src/bufferutil.cc:32:50: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/root/.node-gyp/8.0.0/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Template>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Template> recv,
             ^
/root/.node-gyp/8.0.0/include/node/node.h:270:13: note: void node::NODE_SET_METHOD(v8::Local<v8::Object>, const char*, v8::FunctionCallback)
 inline void NODE_SET_METHOD(v8::Local<v8::Object> recv,
             ^
bufferutil.target.mk:95: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/home/WibiSmart-Bluemix-App/node_modules/bufferutil/build'

gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:285:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
gyp ERR! System Linux 4.4.30-ti-r64
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/WibiSmart-Bluemix-App/node_modules/bufferutil
gyp ERR! node -v v8.0.0
gyp ERR! node-gyp -v v3.6.1
gyp ERR! not ok

Hat jemand anderes auf dieses Problem gestoßen oder weiß, wie es behoben werden kann?

6
Michael Vaquier

Das Problem herausgefunden. Einige der npm-Pakete waren nicht auf dem neuesten Stand. Ich habe die package.json geändert, um alle neuesten Versionen aller Pakete zu installieren.

5
Michael Vaquier

Löschen Sie den Ordner ~/.node-gyp und anschließend die Datei ~/.npmrc. 

Starten Sie Ihren Server neu und führen Sie npm install in Ihrem Projektordner erneut aus

3
andromeda

Für andere Leute, die genau auf dieses Problem stoßen:

In meinem Fall war die Version des Serverknotens in meiner package.json-Datei auf eine ältere Version eingestellt als in meiner lokalen Umgebung .. __ Überprüfen Sie also, was Sie lokal ausführen mit:

node --version
-> 8.11.3

Dann schauen Sie sich Ihre Servereinstellung in package.json an:

{
  "name": "myapp",
  "version": "0.0.0",
  "private": true,
  "engines": {
    "node": "7.10.2" // <-- This is too old, set it to the node version you are running locally (8.11.3)
  },

Ich hoffe das hilft jemandem.

2
Ian Ellis