使用npm和节点下载依赖项时出现错误MSB8007

时间:2013-06-11 02:32:11

标签: node.js msbuild npm

我正在尝试使用npm在我的节点应用程序中安装一些软件包,并且我一直收到以下错误。我用socket.io和mongo得到了同样的错误。我已经经历了许多与此类似的错误,并根据其他线程中的建议安装了许多不同的东西,我真的不知道问题是什么。如果有人对我需要下载/设置的内容有任何建议,我将不胜感激。

$ npm install mongodb
npm http GET https://registry.npmjs.org/mongodb
npm http 304 https://registry.npmjs.org/mongodb
npm http GET https://registry.npmjs.org/bson/0.1.9
npm http GET https://registry.npmjs.org/kerberos
npm http 304 https://registry.npmjs.org/bson/0.1.9
npm http 304 https://registry.npmjs.org/kerberos

> kerberos@0.0.2 install c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)


c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\kerberos>node "c:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bi
n\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild

> bson@0.1.9 install c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)


c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\bson>node "c:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\.
.\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform.Targets(23,7): error MSB8007: The Platform for project 'kerberos.vcxp
roj' is invalid.  Platform='x64'. You may be seeing this message because you are trying to build a project without a solution file, and have specifie
d a non-default Platform that doesn't exist for this project. [c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\kerbero
s\build\kerberos.vcxproj]
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform.Targets(23,7): error MSB8007: The Platform for project 'bson.vcxproj'
 is invalid.  Platform='x64'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a
non-default Platform that doesn't exist for this project. [c:\Users\Ludicritz\Desktop\Umass-running-app\node_modules\mongodb\node_modules\bson\build\
bson.vcxproj]
mongodb@1.3.9 node_modules\mongodb
├── kerberos@0.0.2
└── bson@0.1.9

3 个答案:

答案 0 :(得分:10)

VS C ++ Express 2010 32bit是免费的。如果你安装了64位版本的nodejs,只需删除它并安装32位版本的node.js

答案 1 :(得分:3)

我有一个simallar问题,这是我的解决方案。我正在运行Windows 7 x64。我安装了x64版本的nodejs。我尝试运行安装,这就是我得到的:

起初它想让我把git放到我的路上,我做了。然后它想要我安装python(不是版本3.x.x但是2.x.x)并将它放在我的路径中,我做了。然后我安装了visual studio 2010(c ++)。在我完成所有这些之后,我收到了这个错误:

D:\ Source \ xxxx \ grunt-raptr \ node_modules \ node_modules \ libxmljs \ build \ vendor \ libxml \ libxml.vcxproj(18,3):错误MSB4019:导入的项目“D:\ Microsoft。找不到Cpp.Default.props。确认声明中的路径是否正确,以及该文件是否存在于磁盘上。

我在某处读到,如果你在visual studio cmd中运行它,你可以让它工作,我试过了,我得到了这个错误:

C:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ Microsoft.Cpp.InvalidPlatform.Targets(23,7):错误MSB8007:项目“libxml.vcxproj”的平台无效。平台=“64”。您可能会看到此消息,因为您正在尝试构建没有解决方案文件的项目,并且已指定了此项目不存在的非默认平台。 [d:\源\ XXXX \ node_modules \咕噜-raptr \ node_modules \ libxmljs \建立\厂商\的libxml \的libxml。 vcxproj]

有一次我看到这个,我用x32版本重新安装了nodejs,一切正常。

我希望这有助于某人。

答案 2 :(得分:0)

尝试安装node-inspector时:C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.InvalidPlatform.Targets(23,7): error MSB8007: The Platform for project 'bufferutil.vcxproj' is invalid. Platform='x64'

我的机器:

  • 赢7 64位
  • 节点0.12.7 64位
  • Python 2.7 64bit

我如何使用网上的所有建议修复它:

  • 卸载所有VC ++ 20xx Redistributables
    • (如果卸载失败,请使用此MS FixIt
  • 安装Microsoft Windows SDK for Windows 7
    • 仅选择Visual C++ Compilers
  • 运行npm install -g node-inspector --python="C:\Python27\python.exe"

如果仍然无法解决问题,请尝试以下方法:

  • 安装MS SDK x64 Libraries
  • 在您找到的每个'AdditionalLibraryDirectories': 'C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib\\x64',中添加此行addon.gypi
    • C:\nodejs\node_modules\node-gyp\addon.gypi
    • C:\Users\YOU\.node-gyp\0.12.7\deps\npm\node_modules\node-gyp\addon.gypi

addon.gypi

... 'msvs_settings': { 'VCLinkerTool': { 'DelayLoadDLLs': [ 'iojs.exe', 'node.exe' ], # Don't print a linker warning when no imports from either .exe # are used. 'AdditionalOptions': [ '/ignore:4199' ], # THIS LINE HERE 'AdditionalLibraryDirectories': 'C:\\Program Files\\Microsoft SDKs\\Windows\\v7.1\\Lib\\x64', }, ...

祝你好运!