npm install -g karma error MSB4019: импортированный проект «C: \ Microsoft.Cpp.Default.props» не найден

Я смотрел в AngularJS и следил за его установками, но у меня ошибка при выполнении шага №1:

npm install -g karma 

Вот полный вывод:

 Microsoft Windows [Version 6.2.9200] (c) 2012 Microsoft Corporation. All rights reserved. C:\Users\Travis>node --version v0.10.18 C:\Users\Travis>python --version Python 2.7.3 C:\Users\Travis>npm install -g karma npm http GET https://registry.npmjs.org/karma npm http 304 https://registry.npmjs.org/karma npm http GET https://registry.npmjs.org/di npm http GET https://registry.npmjs.org/socket.io npm http GET https://registry.npmjs.org/chokidar npm http GET https://registry.npmjs.org/coffee-script npm http GET https://registry.npmjs.org/http-proxy npm http GET https://registry.npmjs.org/colors/0.6.0-1 npm http GET https://registry.npmjs.org/rimraf npm http GET https://registry.npmjs.org/minimatch npm http GET https://registry.npmjs.org/mime npm http GET https://registry.npmjs.org/useragent npm http GET https://registry.npmjs.org/graceful-fs npm http GET https://registry.npmjs.org/lodash npm http GET https://registry.npmjs.org/log4js npm http GET https://registry.npmjs.org/q npm http GET https://registry.npmjs.org/glob npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/optimist npm http 304 https://registry.npmjs.org/socket.io npm http 304 https://registry.npmjs.org/di npm http 304 https://registry.npmjs.org/chokidar npm http 304 https://registry.npmjs.org/coffee-script npm http 304 https://registry.npmjs.org/colors/0.6.0-1 npm http 304 https://registry.npmjs.org/http-proxy npm http 304 https://registry.npmjs.org/rimraf npm http 304 https://registry.npmjs.org/minimatch npm http 304 https://registry.npmjs.org/mime npm http 304 https://registry.npmjs.org/useragent npm http 304 https://registry.npmjs.org/graceful-fs npm http 304 https://registry.npmjs.org/lodash npm http 304 https://registry.npmjs.org/log4js npm http 304 https://registry.npmjs.org/q npm http 304 https://registry.npmjs.org/glob npm http 304 https://registry.npmjs.org/connect npm http 304 https://registry.npmjs.org/optimist npm http GET https://registry.npmjs.org/lru-cache npm http GET https://registry.npmjs.org/sigmund npm http GET https://registry.npmjs.org/inherits npm http GET https://registry.npmjs.org/wordwrap npm http GET https://registry.npmjs.org/socket.io-client/0.9.16 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/sigmund npm http 304 https://registry.npmjs.org/lru-cache npm http 304 https://registry.npmjs.org/policyfile/0.0.4 npm http 304 https://registry.npmjs.org/base64id/0.1.0 npm http 304 https://registry.npmjs.org/wordwrap npm http 304 https://registry.npmjs.org/redis/0.7.3 npm http 304 https://registry.npmjs.org/inherits npm http 304 https://registry.npmjs.org/socket.io-client/0.9.16 npm http GET https://registry.npmjs.org/pkginfo npm http GET https://registry.npmjs.org/utile npm http GET https://registry.npmjs.org/qs/0.6.5 npm http GET https://registry.npmjs.org/cookie-signature/1.0.1 npm http GET https://registry.npmjs.org/formidable/1.0.14 npm http GET https://registry.npmjs.org/cookie/0.1.0 npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1 npm http GET https://registry.npmjs.org/send/0.1.4 npm http GET https://registry.npmjs.org/bytes/0.2.0 npm http GET https://registry.npmjs.org/fresh/0.2.0 npm http GET https://registry.npmjs.org/pause/0.0.1 npm http GET https://registry.npmjs.org/uid2/0.0.2 npm http GET https://registry.npmjs.org/debug npm http GET https://registry.npmjs.org/methods/0.0.1 npm http 304 https://registry.npmjs.org/pkginfo npm http 304 https://registry.npmjs.org/utile npm http 304 https://registry.npmjs.org/qs/0.6.5 npm http 304 https://registry.npmjs.org/cookie/0.1.0 npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1 npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1 npm http 304 https://registry.npmjs.org/send/0.1.4 npm http 304 https://registry.npmjs.org/bytes/0.2.0 npm http 304 https://registry.npmjs.org/fresh/0.2.0 npm http 304 https://registry.npmjs.org/pause/0.0.1 npm http 304 https://registry.npmjs.org/formidable/1.0.14 npm http 304 https://registry.npmjs.org/uid2/0.0.2 npm http 304 https://registry.npmjs.org/debug npm http 304 https://registry.npmjs.org/methods/0.0.1 npm http GET https://registry.npmjs.org/range-parser/0.0.4 npm http GET https://registry.npmjs.org/i npm http GET https://registry.npmjs.org/mkdirp npm http GET https://registry.npmjs.org/deep-equal npm http GET https://registry.npmjs.org/ncp npm http GET https://registry.npmjs.org/async npm http 304 https://registry.npmjs.org/range-parser/0.0.4 npm http 304 https://registry.npmjs.org/deep-equal npm http 304 https://registry.npmjs.org/ncp npm http 304 https://registry.npmjs.org/async npm http GET https://registry.npmjs.org/dequeue/1.0.3 npm http GET https://registry.npmjs.org/async/0.1.15 npm http GET https://registry.npmjs.org/semver npm http 304 https://registry.npmjs.org/mkdirp npm http 304 https://registry.npmjs.org/i npm http GET https://registry.npmjs.org/readable-stream npm http 304 https://registry.npmjs.org/dequeue/1.0.3 npm http 304 https://registry.npmjs.org/async/0.1.15 npm http 304 https://registry.npmjs.org/readable-stream npm http 304 https://registry.npmjs.org/semver npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2 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/active-x-obfuscator/0.0.1 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 304 https://registry.npmjs.org/ws npm http GET https://registry.npmjs.org/zeparser/0.0.5 npm http 304 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/nan npm http GET https://registry.npmjs.org/options npm http 304 https://registry.npmjs.org/nan npm http 304 https://registry.npmjs.org/options npm http 304 https://registry.npmjs.org/commander npm http 304 https://registry.npmjs.org/tinycolor > [email protected] install C:\Users\Travis\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\node_modules\socket.io -client\node_modules\ws > (node-gyp rebuild 2> builderror.log) || (exit 0) C:\Users\Travis\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_modules \ws>node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\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. C:\Users\Travis\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_module s\ws\build\bufferutil.vcxproj(18,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found . Confirm that the path in the  declaration is correct, and that the file exists on disk. C:\Users\Travis\AppData\Roaming\npm\node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_module s\ws\build\validation.vcxproj(18,3): error MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found . Confirm that the path in the  declaration is correct, and that the file exists on disk. C:\Users\Travis\AppData\Roaming\npm\karma -> C:\Users\Travis\AppData\Roaming\npm\node_modules\karma\bin\karma [email protected] C:\Users\Travis\AppData\Roaming\npm\node_modules\karma ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected]) ├── [email protected] ([email protected]) ├── [email protected] ├── [email protected] ([email protected]) ├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], b [email protected], [email protected], [email protected], [email protected], [email protected]) ├── [email protected] ([email protected], [email protected]) ├── [email protected] ([email protected], [email protected], [email protected], [email protected]) └── [email protected] ([email protected], [email protected], [email protected], [email protected]) 

Похоже, что версия MSBuild, которая работает (12.0, я считаю), неправильно решает переменную $(VCTargetsPath) в файле vcxproj .

У меня была такая же проблема с другими модулями после установки VS Express 2013 для Интернета наряду с VS Express 2012 для Windows. Решением было установить VS 2013 для Windows и использовать коммутатор

 npm install --msvs_version=2013 

Для тех, кто все еще сталкивается с ошибками после установки VS с Windows SDK и пытается решения Besrl, в частности, node-gyp

Error MSB4019: The imported project "X:\Microsoft.Cpp.Default.props" was not found ,

Попробуйте запустить команды npm install из командной строки MSVS.

Найдите его в Start menu > Microsoft Visual Studio 201X > Visual Studio Tools > Open Visual Studio 201X Tools Command Prompt или запустите \\Common7\Tools\VsDevCmd.bat из командной строки.

Выше работали для меня с VS2012, и этот комментарий Github помог мне найти это.

Убедитесь, что у вас есть все необходимое программное обеспечение для запуска node-gyp :

Вы можете настроить версию Visual Studio, используемую gyp через переменную среды, чтобы избежать необходимости устанавливать --msvs_version=2012 для будущих установок.

Примеры:

  • set GYP_MSVS_VERSION=2012 для Visual Studio 2012
  • set GYP_MSVS_VERSION=2013e («e» означает «express-издание»)

Полный список см. На странице https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294.

Это по-прежнему болезненно для пользователей Windows из NodeJS, поскольку предполагает, что у вас есть копия Python и Visual Studio, но у многих конечных пользователей этого никогда не будет. Поэтому я лоббирую Joyent, чтобы побудить их включать веб-сокеты как часть узла CORE, а также отправить компилятор GNU gcc как часть установки NodeJS, чтобы мы могли навсегда устранить эту проблему.

Не стесняйтесь добавлять свой голос:

В Windows самым простым способом, который я нашел, чтобы исправить это, является установка инструментов для создания окон, как рекомендовано README для node-gyd

 npm install --global --production windows-build-tools 

https://github.com/nodejs/node-gyp

Таким образом, мне не приходилось вмешиваться в установку python или других пакетов dist.

Если у вас вообще нет Visual Studio, вам определенно нужно ответить на https://stackoverflow.com/a/18779641/530967 .

В основном вам нужно установить некоторую версию Visual Studio 2010 (express-версия бесплатна), затем Windows SDK, затем VS SP1, затем обновление компилятора VC ++, все в этом порядке. После этого эта проблема должна исчезнуть (как и для меня).

  • Обработать перезагрузку браузера socket.io
  • Различия между socket.io и websockets
  • Клиент Java socket.io
  • Отправка сообщения на определенный идентификатор в Socket.IO 1.0
  • Как использовать socket.io в express-маршрутах?
  • Надежность транспорта Websocket (потеря данных Socket.io при повторном подключении)
  • личное сообщение socket.io
  • Каков пример простейшего возможного примера Socket.io?
  • Какую библиотеку websocket использовать с Node.js?
  • Как обмениваться сеансами с Socket.IO 1.x и Express 4.x?
  • Как повторно использовать соединение redis в socket.io?
  • Давайте будем гением компьютера.