NPM-Installation schlägt mit node-gyp fehl

8

Wir haben Probleme bei der Ausführung von "npm install" in unserem Projekt. Eine bestimmte Datei kann nicht gefunden werden:

%Vor%

Es scheint, als käme es vom Modul node-gyp :

  

c: \ Programm   Dateien \ nodejs \ node_module \ npm \ node_module \ node-gyp \ src \ win_delay_lo   ad_hook.c (13):

     

fataler Fehler C1083: Include-Datei kann nicht geöffnet werden: 'windows.h': Kein Erfolg   Datei oder Verzeichnis   [D: \ ngs-frontend-next \ node_module \ browser-sync \ node_modul   s \ socket.io \ node_module \ engine.io \ node_module \ ws \ node_module \ bufferutil \ buil   d \ binding.sln]

Dieser Knoten-gyp scheint für uns eine unendliche Quelle von Schmerz zu sein. Zuerst hat es geklagt, dass es Python benötigt, also haben wir das installiert. Dann klagte es, dass es VCBuild benötigt, das wir installierten (mit .NET 2.0 SDK), jetzt haben wir diesen Fehler. Es ist fast so, als würden die Fehler mehr und mehr unklar, und es fühlt sich an, als würden wir einen falschen Weg gehen.

Das Seltsame ist, dass andere Leute in unserem Team keine Probleme haben, die npm-Installation auszuführen.

Der vollständige Fehler sieht folgendermaßen aus:

  

c: \ Programm   Dateien \ nodejs \ node_module \ npm \ node_module \ node-gyp \ src \ win_delay_lo   ad_hook.c (13):

     

fataler Fehler C1083: Include-Datei kann nicht geöffnet werden: 'windows.h': Kein Erfolg   Datei oder Verzeichnis   [D: \ ngs-frontend-next \ node_module \ browser-sync \ node_modul   s \ socket.io \ node_module \ engine.io \ node_module \ ws \ node_module \ bufferutil \ buil   d \ binding.sln]

     

gyp ERR! Buildfehler gyp ERR! Stapelfehler:    C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe ist fehlgeschlagen   mit Exit-Code: 1 Stapel bei ChildProcess.onExit (C: \ Program   Dateien \ nodejs \ node_module \ npm \ node   _module \ node-gyp \ lib \ build.js: 270: 23) gyp ERR! Stack bei emitTwo (events.js: 87: 13) gyp ERR! stack bei ChildProcess.emit   (events.js: 172: 7) gyp ERR! Stapeln bei   Process.ChildProcess._handle.onexit (intern / untergeordnete_proz   s.js: 200: 12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! Befehl   "C: \ Programme \ nodejs \ node.exe" "C: \ Programme \ nodej   s \ node_module \ npm \ node_module \ node-gyp \ bin \ node-gyp.js "   "Wiederaufbau" gyp ERR! cwd   D: \ ngs-frontend-next \ node_module \ browser-sync \ node_module \ socket.   io \ node_modules \ engine.io \ node_module \ ws \ node_module \ bufferutil gyp   ERR! Knoten -v v4.2.2 gyp ERR! node-gyp -v v3.0.3 gyp ERR! nicht ok npm   WARN optional dep failed, weiter [email protected]

     
    

[email protected] Nachinstallation D: \ ngs-frontend-next \ node_module \ gulp-imagemin \ nod     e_modules \ imagemin \ node_modules \ imagemin-gifsicle \ node_modules \ gifsicle     Knoten lib / install.js

  

Aus pacakge.json sieht so aus:

%Vor%     
Oliver Watkins 24.11.2015, 14:41
quelle

7 Antworten

8

Die Fehlermeldungen haben mich verwirrt und mir nicht geholfen, die Fehler vollständig zu beheben.

Die README.md für node-gyp Projekt führt die Installationsanweisungen für Unix, Max OS X und Windows .

In Windows Systemen können Sie entweder mit Option 1 oder Option 2 arbeiten, aber die Hauptsache ist, dass Sie das Visual C ++ - Buildtools .

Das folgende Zitat stammt aus dem Windows Installationsabschnitt:

  
  • Unter Windows:         
    • Visual C ++ - Buildumgebung:           
      • Option 1: Installieren Sie Visual C ++ Build Tools mit der Option Standardinstallation.
      •             
      • Option 2: Installieren Sie Visual Studio 2015 (oder ändern Sie eine vorhandene Installation), und wählen Sie während des Setups Allgemeine Tools für Visual C ++ aus. Dies funktioniert auch mit den kostenlosen Editionen Community und Express für Desktop.
      •           

                [Nur Windows Vista / 7] erfordert .NET Framework 4.5.1           
    •           
    • Installieren Sie Python 2.7 ( v3.x.x wird nicht unterstützt), und führen Sie
      npm config set python python2.7
      aus (oder lesen Sie weiter unten, um weitere Anweisungen zum Festlegen der richtigen Python-Version und des Python-Pfads zu erhalten.)
    •           
    • Start cmd,
      npm config set msvs_version 2015
    •         
  •     

Wenn die oben genannten Schritte für Sie nicht funktionierten, finden Sie in den Microsoft-Node.js-Richtlinien für Windows weitere Tipps.

Allgemeine Anweisungen für die Python-Konfiguration:

  

Wenn Sie mehrere Python-Versionen installiert haben, können Sie herausfinden, welche Python-Version node-gyp verwendet, indem Sie die Variable '--python' festlegen:

%Vor%
  

Wenn node-gyp über npm aufgerufen wird und Sie mehrere Versionen von Python installiert haben, können Sie den 'python' Konfigurationsschlüssel von npm auf den entsprechenden Wert setzen:

%Vor%

Mein System wurde erfolgreich gemäß den obigen Anweisungen konfiguriert.

Systeminfo

%Vor%

Links zu relevanten Tools / Artikeln:

Visual C ++ Build Tools

Visual Studio 2015

.NET Framework 4.5.1

Python 2.7

Microsoft's Node.js Richtlinien für Windows

    
Sourav Paul 25.05.2016 10:47
quelle
3

Das letzte Mal, dass ich einen ähnlichen Fehler sah, lag daran, dass ich die falsche Version von npm und / oder node für eine meiner Abhängigkeiten verwendete. Versuchen Sie, diese zu aktualisieren, und versuchen Sie es erneut.

Bevor Sie es erneut versuchen, entfernen Sie das Verzeichnis node_modules .

Sie müssen möglicherweise untersuchen, welche Versionen von npm und node Ihre Abhängigkeiten benötigen. Sie könnten die neuesten Versionen all Ihrer Abhängigkeiten, node und npm ausprobieren.

Überprüfen Sie, welche Versionen Ihre Kollegen verwenden.

Welches Betriebssystem verwenden Sie? Das kann Auswirkungen haben, da die Version von CLANG möglicherweise anders ist.

    
Softinio 24.11.2015 16:56
quelle
2
  1. Installieren Sie die technische Vorschau von VC ++ Build Tools [Nur Windows 7] erfordert .NET Framework 4.5.1

  2. Installieren Sie Python 2.7 und fügen Sie es zu Ihrem PATH, npm config set python python2.7

  3. hinzu
  4. Starten Sie cmd, npm config set msvs_version 2015 --global (dies ist anstelle von npm install [Paketname] --msvs_version = 2015 jedes Mal.)

4.So viel npm installieren: tada:

    
sabari 23.12.2015 09:05
quelle
1

Versuchen Sie erneut mit --force option :

zu installieren %Vor%

Wenn das nicht funktioniert, versuche npm global zu aktualisieren:

%Vor%

und versuchen Sie es erneut mit der Option --force .

    
David Vega 24.11.2015 15:58
quelle
1

Veröffentlichen Sie hier meine Lösung für den Fall, dass jemand wie ich, der Windows 10 verwendet, immer noch den Fehler hat, nachdem er viele Microsoft-Build-Tools installiert hat.

Alles was Sie brauchen sind:

  

Windows 10 64 bit

     

python 2.7.x

     

Visual Studio 2013

Ich habe Visual Studio 2015 schon einmal ausprobiert, aber es hat überhaupt nicht funktioniert.

  1. Als Erstes deinstalliere ich alle mit Microsoft verbundenen Build-Tools. (Wenn Sie zuvor noch nichts installiert haben, um dieses Problem zu lösen, überspringen Sie diesen Schritt.)

  2. Installieren Sie Visual Studio 2013.

  3. Config npm wie @Sourav sagte:

  

Konfig python:

%Vor%      

Konfig msvs_version:

%Vor%

Führen Sie einen Befehl npm install oder den Befehl npm aus, bei dem dieser Fehler auftritt. Für mich geht das!

Übrigens, diese Lösung stammt von hier .

    
Java Xu 01.03.2017 14:52
quelle
0

dafür hat es gelöst (OS X):

%Vor%     
Orr 04.01.2017 08:03
quelle
0

Für Windows 8 oder 10:

Vorausgesetzt, Knoten und npm bereits installiert.

Meine Knoten- und npm-Version (Zum Zeitpunkt des Verfassens dieser Antwort):

Knoten: 8.9.4

npm: 5.6.0

  1. Installieren Sie zuerst python 2.x

  2. Stellen Sie sicher, dass es auf dem Pfad verfügbar ist

  3. Installieren Visual Studio Installer

  4. Führen Sie nach der Installation

  5. aus
  6. Eine neue Schnittstelle öffnet es, wo Sie verschiedene Optionen auswählen können.
  7. Wählen Sie nun Build Tools für Visual Studio 2017 aus den verfügbaren Optionen und installieren Sie es. Sie müssen Visual Studio nicht installieren.

Nach der Installation sollte es einwandfrei funktionieren.

    
WitVault 19.02.2018 11:36
quelle

Tags und Links