Versions natives de NPM avec seulement Visual Studio 2013 installé
J'ai une installation propre de Windows avec Visual Studio 2013 Pro est installé, avec les versions actuelles de Python, nœud et npm.
Je suis en train d'installer le pg
mnp paquet, mais il nécessite un natif de construire et est un échec:
C:\Program Files (x86)\MSBuild\Microsoft.Rpc\v4.0\V120\Microsoft.Rpc.La plate-forme.cibles(64,5):
erreur MSB8020: L'élaboration d'outils pour Visual Studio 2012 (Plate-forme
Outils = 'v110') ne peut pas être trouvé. Construire en utilisant le v110 construire
outils, s'il vous plaît installer Visual Studio 2012 outils de construction. Sinon,
vous pouvez mettre à jour des outils de Visual Studio en sélectionnant l'
Menu projet ou à droite
-cliquez sur la solution, puis en sélectionnant "Mise à niveau de la Solution...".
[C:\Users\Aaron\AppData\Roaming\npm\node_modules\pg\build\binding.vcxproj]
Je n'arrive pas à trouver l'élaboration d'outils pour Visual Studio 2012, comme décrit, et je serais certainement préfèrent pas besoin d'installer VS2012 juste pour cette nécessité. Est-il un moyen de forcer l'installation et de construction à utiliser le disponible 2013 compilateur/outils, sans modifier le code de l'emballage?
Je ne pouvais pas trouver quelqu'un de décrire ce problème spécifique et une solution à l'aide de mon Googlefu.
source d'informationauteur WiredPrairie
Vous devez vous connecter pour publier un commentaire.
J'ai trop de installation propre de Windows 8.1 (64 bits) Pro avec Visual Studio 2013 (aucune version précédente de VS, bien que certains composants fournie avec SQL Server 2014). Le
npm install
commande a échoué avec l'erreur similaire.J'ai donc essayé de préciser VS version
Il a commencé correctement à l'aide de Plate-forme d'Outils 'v120' mais la construction a échoué avec l'erreur suivante (notez le
V110
utilisé dans le chemin d'accès pour les cibles):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.
Je suis allé sur le chemin de
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\
et y a trouvé deux sous-dossiers:V110
etV120
.Pour corriger le chemin d'accès utilisé pour les objectifs, j'ai eu à la définition de la variable comme ceci:
Puis le paquet est bien installé.
Pour référence, les versions:
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' }
Ce qui m'a aidé est de spécifier la variable d'environnement GYP_MSVS_VERSION de correct à utiliser VS
vous pouvez le définir dans le centre de Contrôle ou dans la console avant l'exécution de la ngp, donc, pour 2013, il est
et pour 2015, vous utilisez
Avec gratuit VS 2013 ou 2015 de la communauté de l'édition, il devrait être plus facile.
PS
Je crois que pour VS 2013 Express, vous devez utiliser
où e indique npm pour utiliser la version express
Mis à jour
node-gyp
à la dernière version (1.0.2) par:npm install node-gyp -g
Notez que vous avez également à mise à jour le
node-gyp
qui est utilisé en interne par le nœudMaintenant,
node-gyp
d'appuyer votre Visual Studio 2013 - vous pouvez vérifier dans le<npm-cache>/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
dans_CreateVersion
méthode.Cependantles modules natifs ne parvenez toujours pas à construire, donne une erreur que certains inclure des fichiers sont manquants (ceux de Windows SDK, comme, disons,
winsock2.h
). C'est parce que Visual Studio 2013 est livré avec UN SDK 7.1 en tant que par défaut. Mais par défaut l'ensemble d'Outils de réglage est "v120", qui prévoit la 8.1 SDK (qui doit être installé en plus).De construire avec juste le stock VS 2013, vous avez besoin de changer ce jeu d'outils est sélectionné. Vous pouvez le faire en modifiant
~/.node-gyp/common.gypi
fichier (idée reprise de ici), et de l'évolution de l'ensemble d'outils 'v120_xp" à la place (qui utilisera le logiciel d'UN SDK 7.1):{
...
'target_defaults': {
...
'configurations': {
...
'Release': {
'conditions': [
['target_arch=="x64"', {
'msvs_configuration_platform': 'x64',
'msbuild_toolset': 'v120_xp' <--- THIS LINE!
}],
}
}
}
}
Voila, maintenant, le natif de mnp modules de compiler avec le stock de Visual Studio 2013 installer!
J'ai eu des erreurs similaires avec VS2015 mais le réglage du msvs param:
npm install --msvs_version=2015
n'était pas de résoudre le problème. Je pouvais voir qu'il était à la recherche dans la mauvaise place de la boîte à outils peu importe ce que j'ai fait.
Longue histoire courte, j'ai appris que MSBuild est maintenant livré avec Visual Studio et pas plus emballés avec .NET. Bien sûr j'ai eu cette entrée dans la variable PATH:
et, par conséquent, le mal (vieille) version de MSBuild a été appelé. J'ai enlevé cette entrée et ajouté le chemin d'accès suivant, ce qui est pertinent pour VS2015:
Le problème est résolu.