NPM native builds mit nur Visual Studio 2013 installiert
Ich habe eine saubere Installation von Windows mit Visual Studio 2013 Pro installiert ist, zusammen mit aktuellen Versionen von Python, node und npm.
Ich versuche zu installieren die pg
npm-Paket, aber es braucht einen einheitlichen Aufbau und fehlschlägt:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.- Plattform.Ziele(64,5):
Fehler MSB8020: Die build-tools für Visual Studio 2012 (Plattform
Toolset = 'v110') nicht gefunden werden kann. Bauen mit dem v110 bauen
tools, bitte installieren Sie Visual Studio 2012 tools erstellen. Alternativ
Sie können ein upgrade auf das aktuelle Visual Studio-tools durch die Auswahl der
Im Menü Projekt oder rechts
-klicken Sie auf die Projektmappe, und wählen Sie dann "Upgrade-Lösung...".
[C:\Users\Aaron\AppData\Roaming\npm\node_modules\pg\build\binding.vcxproj]
Ich kann nicht scheinen zu finden, Build-tools für Visual Studio 2012, wie beschrieben, und ich hätte es lieber nicht installieren müssen VS2012 nur für diesen einen brauchen. Gibt es eine Möglichkeit zu zwingen, die installieren Sie und bauen Sie mit den verfügbaren 2013-compiler/tools, ohne dass sich der code des Pakets?
Konnte ich nicht finden jemand beschreiben dieses problem und eine Lösung, bei der mein Googlefu.
Das sieht aus wie die Liste der Flaggen hier? code.google.com/p/gyp/source/browse/trunk/pylib/gyp/...
Noch besser, Sie können die version Global zu, z.B. npm config set msvs_version 2012 --global
Also
npm config set msvs_version 2013 --global
? (Wie war die Frage über die Verwendung von VS 2013)InformationsquelleAutor WiredPrairie | 2013-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich zu "clean" install von Windows 8.1 (64bit) Pro mit Visual Studio 2013 nur (keine Vorherige version von VS, obwohl einige Komponenten kam mit SQL Server 2014). Die
npm install
Befehl fehlgeschlagen ähnlichen Fehler.Also habe ich versucht, um anzugeben, VS-version
Fing es richtig mit Plattform-Toolset 'v120", aber das build mit dem folgenden Fehler fehlgeschlagen (Hinweis: die
V110
im Pfad verwendet für Ziele):C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(44,5): error MSB8020: The builds tools for v120 (Platform Toolset = 'v120') cannot be found. To build using the v120 build tools, either click the Project menu or right-click the solution, and then select "Update VC++ Projects...". Install v120 to build using the v120 build tools.
Ging ich auf den Pfad
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
und fanden, dass es zwei Unterordner:V110
undV120
.Korrigieren Sie den Pfad zum Ziele hatte ich zu legen Sie die Umgebungsvariable wie diese:
Dann bekam das Paket installiert.
Referenz für die Versionen:
VS 2013 Premium
Python 2.7.8
C:\Windows\system32>npm version
{ http_parser: '1.0',
node: '0.10.29',
v8: '3.14.5.9',
ares: '1.9.0-DEV',
uv: '0.10.27',
zlib: '1.2.3',
modules: '11',
openssl: '1.0.1h',
npm: '1.4.14' }
Nach einer Neuinstallation von VS 2013 habe ich keine folderes überhaupt in MSBuild/Microsoft.Cpp!
Versucht, für einen Tag diese Arbeit machen. Ich wünschte, diese Magie Umgebungsvariablen dokumentiert wurden irgendwie. Sie sind eine Legende!
InformationsquelleAutor eXavier
Was mir geholfen ist, geben Sie die environment-variable GYP_MSVS_VERSION, um auf die Verwendung der richtigen VS
Sie können Sie im Control-center oder in der Konsole vor dem ausführen von npm, so dass für 2013 ist es
und für das Jahr 2015, die Sie verwenden
Mit free VS 2013 oder 2015 community edition, es sollte der einfachste Weg sein.
PS
Ich glaube, für VS 2013 Express verwenden, sollten Sie verwenden
wo e erzählt npm auf die Verwendung der express-version
InformationsquelleAutor v-andrew
Aktualisiert
node-gyp
auf die neueste version (1.0.2) von:npm install node-gyp -g
Beachten Sie, dass Sie auch zu aktualisieren Sie die
node-gyp
, die intern von KnotenNun
node-gyp
unterstützen, Ihre Visual Studio 2013 - können Sie in der<npm-cache>/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
im_CreateVersion
Methode.Jedoch, die systemeigene Module noch nicht bauen, geben Sie eine Fehlermeldung, dass einige include-Dateien fehlen (diejenigen, die aus dem Windows SDK, wie sagen
winsock2.h
). Das ist, weil Visual Studio 2013 zusammen mit 7.1 SDK als Standard. Aber Standard-Toolset-Einstellung ist "v120", die erwartet, dass das 8.1 SDK (muss zusätzlich verbaut werden).Bauen, nur mit dem stock VS 2013, die Sie benötigen, zu ändern, was toolset ausgewählt wurde. Sie können tun, dass durch die änderung
~/.node-gyp/common.gypi
Datei (Idee entnommen aus hier), und ändern das toolset 'v120_xp' statt (die wird durch die mitgelieferte 7.1-SDK):{
...
'target_defaults': {
...
'configurations': {
...
'Release': {
'conditions': [
['target_arch=="x64"', {
'msvs_configuration_platform': 'x64',
'msbuild_toolset': 'v120_xp' <--- THIS LINE!
}],
}
}
}
}
Voila - jetzt wird die native npm-Module kompilieren mit dem Bestand Visual Studio 2013 installieren!
InformationsquelleAutor Lev
InformationsquelleAutor WaiKit Kung
Ich hatte ähnliche Fehler mit VS2015 aber die Einstellung der msvs param:
npm install --msvs_version=2015
war nicht die Lösung des Problems. Ich konnte sehen, dass es wurde an der falschen Stelle suchen für das toolset, egal was ich Tat.
Lange Geschichte kurz ich habe gelernt, dass MSBuild ist jetzt verpackt mit Visual Studio und nicht mehr verpackt .NET. Sicher genug, hatte ich diesen Eintrag in der PATH-variable:
werden und folglich die falschen (alten) version von MSBuild aufgerufen wurde. Ich entfernte den Eintrag und Hinzugefügt den folgenden Pfad, die relevant sind für VS2015:
Problem gelöst.
InformationsquelleAutor spryce