it-swarm.com.de

Die Installation von "node-pre-gyp" --fallback-to-build "ist während der MeanJS-Installation unter OSX fehlgeschlagen

Ich habe mir gerade ein Mac-Buch gekauft, nachdem ich lange Zeit mit Windows gearbeitet hatte.

Ich habe versucht, an einem MeanJS-Projekt zu arbeiten, an dem ich gearbeitet habe. Wenn Sie npm install im Projekt ausführen, wird ein Fehler ausgegeben

Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/Aayush/Work/lishn/repo/lishn-alpha/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64/debug.node --module_name=debug --module_path=/Users/Aayush/Work/lishn/repo/lishn-alpha/node_modules/grunt-node-inspector/node_modules/node-inspector/node_modules/v8-debug/build/debug/v0.4.6/node-v46-darwin-x64' (1)
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v4.1.1
npm ERR! npm  v2.14.4
npm ERR! code ELIFECYCLE
> 
> npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the v8-debug package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get their info via:
npm ERR!     npm owner ls v8-debug
npm ERR! There is likely additional logging output above.

Ich habe versucht, den Cache zu löschen.

Ich habe versucht, node-pre-gyp mit Sudo und --unsafe-perm zu installieren.

Ich habe auch versucht, ein MEAN-Projekt mit demselben Fehler neu zu installieren.

Ich kann anscheinend nicht finden, wo das Problem liegt.

Node Version - 5.0.0

NPM Version - 3.3.10
31
aayush shrestha

ich habe versucht, node-gyp aufzurüsten:

npm install -g node-gyp

Es hat für mich funktioniert.

Ich finde die Lösung hier , ich hoffe es kann helfen.

34
Anne

russfrisch hat vor 4 Tagen kommentiert:

Ich hatte das gleiche Problem. Änderung in der Version für grunt-node-inspector soll ein "> =" anstelle eines "~" voranstellen und bekam dies arbeite für mich.

Link zu github page wo ich diese Lösung gefunden habe.

Link zu meinem Post bei StackoverFlow

9
ManyQuestions

Dies funktioniert möglicherweise nicht für alle, aber ich habe den Knoten aktualisiert und das Problem für mich behoben, wenn keiner der oben genannten Punkte das tat 

2
ocean800

Okay, nach etwas Debuggen verwenden die folgenden Abhängigkeiten eine ältere Version von touch:

./node_modules/bower/node_modules/decompress-Zip/package.json:    "touch": "0.0.3"
./node_modules/bower/node_modules/lockfile/package.json:    "touch": "0"
./node_modules/gulp-nodemon/node_modules/nodemon/package.json:    "touch": "1.0.0",
./node_modules/gulp-nodemon/node_modules/touch/package.json:    "touch": "./bin/touch.js"
./node_modules/nodemon/package.json:    "touch": "~0.0.3",

Damit konnte meanJS mit Knoten 5 arbeiten.

Hier ist die Geschichte der Befehle, die ich ausgeführt habe:

git clone https://github.com/meanjs/mean.git
cd mean
nvm install 5
nvm use 5
npm install
which node-gyp
npm install -g node-pre-gyp
Sudo xcodebuild -license
npm install

Hatte einige Probleme und dann:

Ich habe folgende Zeile hinzugefügt:

#!/usr/bin/env node

Zum Anfang der Datei ./mean/node_modules/.bin/touch

Und dann:

npm install

Und natürlich kann ein Sudo rm -rf ./node_modules && npm cache clean vor dem erneuten Versuch eingefügt werden.

1
jmunsch

Ich war durch dasselbe Problem gegangen, das nach vielen Bemühungen gelöst wurde. Es liegt daran, dass die npm-Version nicht mit der gprc-Version kompatibel ist. Also müssen wir die npm aktualisieren.

npm update
npm install 
1
Vishal Chavan

Dies scheint ein Problem mit meinem Knotenupgrade zu sein. Wie auch immer ich es mit dem folgenden Ansatz gelöst habe.

Deinstalliere zuerst das cli, lösche cashe und installiere diese Befehle erneut 

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli

Installieren Sie dann node-pre-gyp

npm install -g node-pre-gyp

Starten Sie Ihr Terminal neu und prüfen Sie, ob das Problem behoben ist.

1
tadtab

Wie @ ocean800 feststellte, habe ich den Knoten aktualisiert. Die folgende Lösung ist für Ubuntu 16.04, die für mich funktioniert hat, aber etwas Ähnliches bei OSX kann dieses Problem beheben.

Unter Ubuntu 16.04 funktionierte für mich das Upgrade des Knotens

Aktualisieren von nodejs auf Ubuntu 16.04

Ich repliziere die Lösung aus dem obigen Link

Um zu aktualisieren, können Sie n installieren 

Sudo npm install -g n

Dann einfach :

Sudo n latest

oder eine bestimmte Version

Sudo n 8.9.0

Dann versuchen Sie es und installieren Sie es 

Sudo npm install <package>
1

Folgende Kommandos arbeiten für mich:

Sudo npm i -g node-pre-gyp
0
wizzfizz94

probiere diese

Sudo chown -R $(whoami) ~/.npm

Sudo chown -R $(whoami) /usr/local/lib

Sudo chown -R $(whoami) /usr/local/bin

Dann versuchen Sie es erneut ohne Sudo. z.B.

npm install -g [email protected]

Überprüfen Sie diese Link für weitere Details

0
Ruth Agbasimalo

Hoffe, mein Szenario kann jemand anderem helfen. Ich hatte das gleiche Problem mit dem Paket bcrypt. Zuerst habe ich mit npm i -g node-gyp versucht, wie von Anne vorgeschlagen, aber das Problem blieb bestehen. Dann habe ich die Fehlermeldung erneut gelesen, um das Problem besser zu verstehen, und habe festgestellt, dass das Skript das Paket nicht von Grund auf neu erstellen kann, da keine vorkompilierte Version vorhanden ist. Insbesondere kann der Befehl g ++ nicht gefunden werden. Daher wurde die Installation des Pakets build-essential mit Sudo apt install build-essential -y behoben.

0
Jacopo

Ich habe auch dieses Problem gelöst: Installiere einfach den Node auf die LTS-Version von nvm:

nvm install --lts

nvm use --lts

Dann rm -rf node_modules Und npm i

0
vad nevod

führen Sie das Beispiel aus dem Ordner node_modules aus?

Sie sollen nicht von dort weggerannt werden.

Erstellen Sie stattdessen die folgende Datei in Ihrem Projekt:

post-data.js

var Curl = require( 'node-libcurl' ).Curl,
   querystring = require( 'querystring' );

var curl = new Curl(),
  url  = 'http://posttestserver.com/post.php',
data = { //Data to send, inputName : value
    'input-arr[0]' : 'input-arr-val0',
    'input-arr[1]' : 'input-arr-val1',
    'input-arr[2]' : 'input-arr-val2',
    'input-name' : 'input-val'
};

//You need to build the query string, 
// node has this helper function, but it's limited for real use cases (no support for 
array values for example)
data = querystring.stringify( data );

 curl.setOpt( Curl.option.URL, url );
 curl.setOpt( Curl.option.POSTFIELDS, data );
 curl.setOpt( Curl.option.HTTPHEADER, ['User-Agent: node-libcurl/1.0'] );
 curl.setOpt( Curl.option.VERBOSE, true );

 console.log( querystring.stringify( data ) );

 curl.perform();

 curl.on( 'end', function( statusCode, body ) {

console.log( body );

this.close();
});

curl.on( 'error', curl.close.bind( curl ) );

Führen Sie den Knoten post-data.js aus

ref: https://github.com/JCMais/node-libcurl/issues/98

0
Shantanu Khond