web-dev-qa-db-fra.com

Node non construites sous Windows 8.1 - manquant Microsoft.Cpp.Default.props

Les packages NPM ne sont pas générés sous Windows 8.1 - échec avec l'erreur suivante,

error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.

J'ai essayé ce qui suit,

  • Définition d'une variable d'environnement VCTargetsPath sur C:\Program Files (x86)\MSBuild\12.0\ (l'erreur est modifiée en conséquence, mais il n'y a pas de Microsoft.Cpp.Default.props Avec les outils de génération 2012).
  • Installation d'un environnement VisualStudio 2010 (désinstallé puis installé dans le bon ordre) conformément à cette réponse
  • Complètement supprimé VisualStudio 2010 et essayé à la place un VisualStudio 2012, qui devrait fonctionner selon le wiki Node-gyp
  • Clés de registre ajoutées selon cette réponse
  • Essayé en utilisant la commande Windows 7.1 SDK Invite selon cette réponse
  • J'ai essayé le paramètre VisualStudioVersion avant d'exécuter npm selon cette réponse
  • J'ai essayé de passer --msvs_version=2012 À npm selon cette réponse

Aucune de ces réponses n'a fonctionné.

J'ai déjà passé beaucoup de temps là-dessus. Est-ce que quelqu'un a une réponse définitive qui fonctionne?

53
Brendan

Donc, il est 2h47 - compris.

Bien que le site node-gyp semble suggérer l’utilisation de Visual Studio 2010 ou 2012 , pour Windows 8.1, installez Visual Studio Express 2013 pour Windows Desktop comme indiqué dans la section ce numéro .

5
Brendan

La solution rapide pour moi était la suivante:

set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120
npm install
49
AVarabei

Enfin, Microsoft fournit solution bien meilleure à VS.

16
igor

Je voulais juste mettre à jour cette question avec la dernière réponse. Vous n'avez maintenant pas besoin d'installer Visual Studio.

Source: https://github.com/nodejs/node-gyp/issues/629#issuecomment-153196245

Instructions ci-dessous en cas de panne de la source.

  1. Installez Aperçu technique des outils de construction VC++ en utilisant l'option Installation par défaut .

    [Windows 7 uniquement] requiert . NET Framework 4.5.1

  2. Installez Python 2.7 et ajoutez-le à votre PATH: npm config set python python2.7

  3. Lancez cmd et lancez: npm config set msvs_version 2015 --global _ (c'est au lieu de lnpm install [package name] --msvs_version=2015l à chaque fois.)

9
Antoine

Le réglage suivant a résolu le problème pour moi

/property:VCTargetsPath="C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120

Comme mentionné sur ce forum

5
kromar

Un petit mot pour les personnes qui ont installé:

  1. Visual Studio 2012 (Express)

  2. MSBuild 2012

avec la question de:

  1. MSBuild charge Microsoft.Cpp.Default.props

  2. MSBuild ne peut pas charger Microsoft.Cpp.props

La solution est ici: définissez le paramètre de MSBuild:/propriété: VCTargetsPath = "C:\Fichiers de programme (x86)\MSBuild\Microsoft.Cpp\v4.0\V110"

3
DrKNa

C'est le même problème que décrit ici

générations natives NPM avec uniquement Visual Studio 2013 installé

Si vous avez une version de VS2013 installée, définissez cette variable d'environnement avant d'exécuter la commande npm:

set GYP_MSVS_VERSION=2013

ou pour VS2012

set GYP_MSVS_VERSION=2012 

lecture de fond: https://github.com/Automattic/socket.io/issues/1151

1
mhanney

Juste au cas où les gens rencontreraient à nouveau ce problème, le problème a été résolu dans mon cas lorsque j'ai fait une

npm install -g --production windows-build-tools

Lien pour référence

Question connexe

1
Cy Pangilinan