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 <Import> 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 <Import> 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.


person travis    schedule 12.09.2013    source источник


Ответы (5)


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

npm install --msvs_version=2013
person Benjamin E.    schedule 14.03.2014
comment
Круто, это сработало отлично! Чтобы было ясно, следующая команда для установки AngularJS с 2013: npm install -g karma --msvs_version=2013 - person travis; 14.03.2014
comment
Большое спасибо! У меня была такая же проблема с установкой strongloop. С выключателем он начал работать. - person Marcin Wieczorek; 27.11.2014
comment
Важно знать, что вам нужен как минимум VS Express для рабочего стола, чтобы это работало. У меня был установлен только VS Express for Web, этого, похоже, недостаточно. - person Dominik Ehrenberg; 05.12.2014
comment
Это сработало для меня, но с версией 2017 года соответственно. Я хотел бы добавить, что использование npm config для установки этого значения у меня не сработало, мне пришлось вызывать его в строке вместе с командой установки. - person chrisheseltine; 22.06.2021

Для тех, кто по-прежнему сталкивается с ошибками после установки 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 или запустите <Program Files>\<VS dir>\Common7\Tools\VsDevCmd.bat из командной строки.

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

person GHH    schedule 11.04.2014
comment
Просто примечание: меню «Найти в Пуск» › Microsoft Visual Studio 201X... может быть Microsoft Visual Studio XX.X - person Will Lanni; 24.02.2017

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

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

Примеры:

  • установить GYP_MSVS_VERSION=2012 для Visual Studio 2012
  • установить GYP_MSVS_VERSION=2013e («е» означает «экспресс-выпуск»)

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

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

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

person Tony O'Hagan    schedule 01.08.2014
comment
Большая часть этой боли уже в прошлом. С помощью Microsoft команда NodeJS исправила эту проблему. - person Tony O'Hagan; 31.01.2020

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

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

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

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

person Chase    schedule 11.10.2016
comment
Большое спасибо! Мне пришлось выполнить его с правами администратора, после чего установка Sharp наконец-то заработала. - person Jesse; 18.04.2017

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

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

person JD Smith    schedule 06.01.2014
comment
Спасибо, я не знал, что порядок важен. У меня также установлен 2013, который, вероятно, мешает. - person travis; 06.01.2014