MSB3411 Impossible de charger le composant Visual C ++

J’ai MS Visual Studio 2012 Ultimate et le système d’exploitation est Windows 7 et j’ai installé nodeJs. Je voulais installer socket.io à l’aide de npm, mais l’erreur suivante apparaît.

C:\Users\NEW>npm install socket.io npm http GET https://registry.npmjs.org/socket.io npm http 304 https://registry.npmjs.org/socket.io npm http GET https://registry.npmjs.org/socket.io-client/0.9.11 npm http GET https://registry.npmjs.org/policyfile/0.0.4 npm http GET https://registry.npmjs.org/base64id/0.1.0 npm http GET https://registry.npmjs.org/redis/0.7.3 npm http 304 https://registry.npmjs.org/socket.io-client/0.9.11 npm http 304 https://registry.npmjs.org/base64id/0.1.0 npm http 304 https://registry.npmjs.org/policyfile/0.0.4 npm http 304 https://registry.npmjs.org/redis/0.7.3 npm http GET https://registry.npmjs.org/uglify-js/1.2.5 npm http GET https://registry.npmjs.org/ws npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2 npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1 npm http 304 https://registry.npmjs.org/ws npm http 304 https://registry.npmjs.org/xmlhttprequest/1.4.2 npm http 304 https://registry.npmjs.org/uglify-js/1.2.5 npm http 304 https://registry.npmjs.org/active-x-obfuscator/0.0.1 npm http GET https://registry.npmjs.org/zeparser/0.0.5 npm http GET https://registry.npmjs.org/tinycolor npm http GET https://registry.npmjs.org/commander npm http GET https://registry.npmjs.org/options npm http 304 https://registry.npmjs.org/zeparser/0.0.5 npm http 304 https://registry.npmjs.org/commander npm http 304 https://registry.npmjs.org/tinycolor npm http 304 https://registry.npmjs.org/options > ws@0.4.25 install C:\Users\NEW\node_modules\socket.io\node_modules\socket.io-c lient\node_modules\ws > (node-gyp rebuild 2> builderror.log) || (exit 0) C:\Users\NEW\node_modules\socket.io\node_modules\socket.io-client\node_modules\w s>node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_mo dules\node-gyp\bin\node-gyp.js" rebuild Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". If the component is not installed, either 1) install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5, or 2) install Microsoft Visual Studio 2008. [C:\Users\NEW\node_modules\socket.io\node_modules\socket.io-clie nt\node_modules\ws\build\binding.sln] MSBUILD : error MSB3411: Could not load the Visual C++ component "VCBuild.exe". If the component is not installed, either 1) install the Microsoft Windows SDK for Windows Server 2008 and .NET Framework 3.5, or 2) install Microsoft Visual Studio 2008. [C:\Users\NEW\node_modules\socket.io\node_modules\socket.io-clie nt\node_modules\ws\build\binding.sln] socket.io@0.9.13 node_modules\socket.io ├── base64id@0.1.0 ├── policyfile@0.0.4 ├── redis@0.7.3 └── socket.io-client@0.9.11 (xmlhttprequest@1.4.2, uglify-js@1.2.5, active-x-obf uscator@0.0.1, ws@0.4.25) 

Quel peut être le problème? Comment puis-je résoudre ce problème?

Désolé de creuser une vieille question, mais votre question est le premier résultat quand j’ai cherché “Socket.io VCBuild”

La solution que j’ai trouvée après avoir trébuché sur StackOverflow était la suivante:

npm install socket.io --msvs_version=2012

Mise à jour de @ petf-felzmann. Si vous utilisez VS 2015, vous pouvez utiliser:

npm install socket.io --msvs_version=2015

Installez dotnet 3.5 pour que les websockets puissent être compilés

http://www.microsoft.com/en-us/download/details.aspx?id=21

Assurez-vous de disposer de tous les logiciels requirejs pour exécuter node-gyp :

Vous pouvez configurer la version de Visual Studio utilisée par gyp via une variable d’environnement afin d’éviter de définir la propriété --msvs_version=2012 .

Exemples:

  • définir GYP_MSVS_VERSION=2012 pour Visual Studio 2012
  • set GYP_MSVS_VERSION=2013e (le ‘e’ signifie ‘édition express’)

Pour la liste complète, voir – https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

Cela rest difficile pour les utilisateurs Windows de NodeJS car cela suppose que vous ayez une copie de Visual Studio installée et que de nombreux utilisateurs finaux ne l’auront jamais. Je fais donc pression sur Joyent pour les encourager à inclure des sockets Web dans le nœud CORE et à envoyer éventuellement un compilateur GNU gcc dans le cadre de l’installation de NodeJS afin que nous puissions résoudre ce problème de façon permanente.

N’hésitez pas à append votre vote à:

Je pense que je l’ai trouvé. Essayer:

 npm install websocket@1.0.3 

Je l’ai trouvé ici