首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >npm安装错误:“找不到v120的构建工具(Platform = 'v120')

npm安装错误:“找不到v120的构建工具(Platform = 'v120')
EN

Stack Overflow用户
提问于 2015-09-14 01:48:36
回答 5查看 25.2K关注 0票数 18

在运行需要节点-gyp重新构建的npm install时,引发以下生成错误:

MSB8020:无法找到用于v120 (Platform = 'v120')的构建工具。若要使用v120生成工具进行生成,请安装v120生成工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重定向获取解决方案”,升级到当前的Visual工具。

系统信息

  • Windows 10 (x64)
  • Visual Studio 2015
  • 节点v0.12.7
  • npm v2.11.3
  • 节点-gyp v2.0.1
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-09-14 01:48:36

tl;dr

使用msvs_version param:npm install --msvs_version=2015

如果msvs_version参数不起作用怎么办?

如果msvs_version param不能工作,可能是因为您没有安装VisualC++ 2015构建环境。

安装可视化C++构建环境

选项1: Visual Studio 2015

  1. 在VS2015安装期间,选择“自定义”。或者,如果您已经安装了VS2015,请转到Windows的“卸载或更改程序”>从列表中选择VS2015 >单击“更改”>单击“修改”
  2. 在“编程语言”>“VisualC++”下,检查“公共工具for Visual C++ 2015”选项。
  3. 完成VS2015安装

选项2: 2015年可视化C++构建工具

作为VS2015的替代方案,您可以安装微软发布的Visual C++ Build Tools 2015

  1. 在VC++安装过程中,选择“自定义”
  2. 检查“Windows8.1SDK”和“Windows10SDK”选项
  3. 完成VC++安装

使用msvs_version

现在已经安装了Visual 2015构建环境,您可以告诉C++通过msvs_version param使用它:

  1. 开放PowerShell
  2. 使用msvs_version param:npm install --msvs_version=2015

配置选项(不需要)

可以选择地,而不是在命令提示符下指定msvs_version,可以通过将npmrc或package.json添加到npmrc或package.json来将npm配置为始终包含msvs_version param:

npmrc

打开PowerShell并运行npm config set msvs_version 2015,这将将此param添加到用户npmrc文件中。从今以后,每次您运行npm install时,作为这个用户,msvs_version=2015参数将自动包括在内。

如果计划使用不同的Windows帐户登录,并且希望此设置应用于计算机上的所有帐户,则可以选择包括全局标志npm config set msvs_version 2015 --global

package.json

修改项目的package.json文件,包括:

代码语言:javascript
复制
"config": {
  "msvs_version": 2015
}

从今以后,每次您运行npm install时,该项目的msvs_version=2015参数将自动包括在内。

条款修订

  1. 在查克对v120工具集的评论(谢谢@ChuckWalbourn)的启发下,经过进一步调查后修订的步骤
  2. 添加配置选项
  3. 添加了VC++构建工具选项
  4. 更新的用于正式发布的VC++构建工具链接
票数 45
EN

Stack Overflow用户

发布于 2015-11-24 11:25:05

我想在2蟾蜍的回答中添加一个评论,但是堆栈溢出不允许我这样做。可以使用以下命令全局设置msvs_version:

代码语言:javascript
复制
npm config set msvs_version 2015 --global

这样就可以将它保存在每个projects config对象中。

票数 4
EN

Stack Overflow用户

发布于 2016-02-23 02:06:07

我将分享这个答案,因为没有其他任何一个解决了我的问题。我有相同的错误,但设置msvs参数:

npm install --msvs_version=2015

解决不了问题。我可以看出,不管我做了什么,它都找错了工具集的位置。

长话短说,我了解到MSBuild现在是用Visual打包的,而不再是用.NET打包的。

代码语言:javascript
复制
C:\Windows\Microsoft.NET\Framework\v4.0.30319;

因此,错误的(旧的)版本的MSBuild被调用。我删除了这个条目,并添加了与VS2015相关的以下路径:

代码语言:javascript
复制
C:\Program Files (x86)\MSBuild\14.0\Bin\

问题解决了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32556295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档