Npm模块安装Visual Studio错误

我在Windows 8.1 x64,我有Visual Studio 2013的最终。 我作为pipe理员运行控制台,做了npm安装-g karma(与其他模块相同),我得到这个错误:

npm WARN可选dep失败,继续fsevents@0.2.0 /

ws@0.4.31 install C:\ Program Files(x86)\ nodejs \ node_modules \ karma \ node_module s \ socket.io \ node_modules \ socket.io-client \ node_modules \ ws(node-gyp rebuild 2> builderror.log) || (出口0)

C:\Program Files (x86)\nodejs\node_modules\karma\node_modules\socket.io\node_mod ules\socket.io-client\node_modules\ws>node "C:\Users\Filip\AppData\Roaming\npm\n ode_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" r ebuild Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.t argets(64,5): error MSB8020: The build tools for Visual Studio 2010 (Platform T oolset = 'v100') cannot be found. To build using the v100 build tools, please i nstall Visual Studio 2010 build tools. Alternatively, you may upgrade to the c urrent Visual Studio tools by selecting the Project menu or right-click the sol ution, and then selecting "Upgrade Solution...". [C:\Program Files (x86)\nodejs \node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_m odules\ws\build\bufferutil.vcxproj] C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.t argets(64,5): error MSB8020: The build tools for Visual Studio 2010 (Platform T oolset = 'v100') cannot be found. To build using the v100 build tools, please i nstall Visual Studio 2010 build tools. Alternatively, you may upgrade to the c urrent Visual Studio tools by selecting the Project menu or right-click the sol ution, and then selecting "Upgrade Solution...". [C:\Program Files (x86)\nodejs \node_modules\karma\node_modules\socket.io\node_modules\socket.io-client\node_m odules\ws\build\validation.vcxproj] karma@0.12.16 C:\Program Files (x86)\nodejs\node_modules\karma ├── di@0.0.1 ├── graceful-fs@2.0.3 ├── rimraf@2.2.8 ├── colors@0.6.2 ├── mime@1.2.11 ├── q@0.9.7 ├── chokidar@0.8.2 (recursive-readdir@0.0.2) ├── minimatch@0.2.14 (sigmund@1.0.0, lru-cache@2.5.0) ├── optimist@0.6.1 (wordwrap@0.0.2, minimist@0.0.10) ├── source-map@0.1.34 (amdefine@0.1.0) ├── glob@3.2.11 (inherits@2.0.1, minimatch@0.3.0) ├── lodash@2.4.1 ├── log4js@0.6.15 (semver@1.1.4, async@0.1.15, readable-stream@1.0.27-1) ├── http-proxy@0.10.4 (pkginfo@0.3.0, utile@0.2.1) ├── useragent@2.0.8 (lru-cache@2.2.4) ├── connect@2.12.0 (uid2@0.0.3, methods@0.1.0, cookie-signature@1.0.1, fresh@0.2 .0, pause@0.0.1, debug@0.8.1, qs@0.6.6, bytes@0.2.1, buffer-crc32@0.2.1, batch@0 .5.0, raw-body@1.1.2, cookie@0.1.0, negotiator@0.3.0, send@0.1.4, multiparty@2.2 .0) └── socket.io@0.9.17 (base64id@0.1.0, policyfile@0.0.4, redis@0.7.3, socket.io-c lient@0.9.16) 

确保你有所有必需的软件来运行node-gyp来编译由socket.io使用的ws (Web Sockets)所使用的C ++代码。

您可以通过环境variablesconfiguration--msvs_version=2012使用的Visual Studio版本,这样您就可以避免设置--msvs_version=2012属性。

例子:

  • 为Visual Studio 2012设置GYP_MSVS_VERSION=2012 2012
  • 设置GYP_MSVS_VERSION=2013e ('e'代表'express edition')

有关完整列表,请参阅 – https://github.com/joyent/node/blob/v0.10.29/tools/gyp/pylib/gyp/MSVSVersion.py#L209-294

对于NodeJS的Windows用户来说,这仍然很痛苦,因为它假定你已经安装了Visual Studio的副本,许多最终用户永远不会拥有这个。 因此,我正在游说Joyent,鼓励他们将CORBA节点的networking套接字包含进来,同时也可能将GNU gcc编译器作为NodeJS安装的一部分,以便我们可以永久解决这个问题。

随时添加您的投票在: