尝试安装npm模块scrypt时出现“错误MSB8020:找不到v141的生成工具(平台工具集='v141')

时间:2018-11-29 11:13:09

标签: c++ visual-studio npm node-gyp scrypt

我正在尝试安装npm模块scrypt

我知道scrypt需要node-gyp,我在全局安装了它(几次)。我也知道node-gyp需要python 2.7和MS Build Tools。我安装了最新的python 2.7版本,并安装了MS Build Tools。我还尝试使用VS Community Edition2017。尝试修复并重新安装两者。

我也成功在全球成功安装了npm软件包windows-build-tools

但是我们尝试npm i scrypt时遇到以下错误:

  

C:\ Program文件   (x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.Cpp.Platform.targets(57,5):   错误MSB8020:v141的生成工具(平台工具集='v141')   找不到。要使用v141构建工具进行构建,请安装   v141内置工具。或者,您可以升级到当前版本   通过选择Project菜单或右键单击Visual Studio工具   解决方案,然后选择“重新定位解决方案”。   [c:\ project \ node_modules \ scrypt \ build \ copied_files.vcxproj] C:\ Program   档案   (x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.Cpp.Platform.targets(57,5):   错误MSB8020:v141的生成工具(平台工具集='v141')   找不到。要使用v141构建工具进行构建,请安装   v141内置工具。或者,您可以升级到当前版本   通过选择Project菜单或右键单击Visual Studio工具   解决方案,然后选择“重新定位解决方案”。   [c:\ project \ node_modules \ scrypt \ build \ scrypt_wrapper.vcxproj]

有任何提示或建议吗?

3 个答案:

答案 0 :(得分:1)

我想对smonkey进行修复的原因是谁卸载了旧版本的Visual Studio,该卸载过程还从%PATH%中删除了该旧MSBuild路径。

对我而言,只需从修复它的路径中删除该旧MSBuild.exe。 node-gyp不需要在路径上使用MSBuild,但是如果路径上的某个对象对于构建目标而言太旧,则会被绊倒。

因此,要么删除您的MSBuild路径,要么确保它指向最新版本。当然,除非您仍然要卸载Visual Studio,否则这不是某些选择。

答案 1 :(得分:0)

几个小时后,我发现安装了旧的Visual Studio2015。我必须先将其卸载。我不知道,为什么不使用最新的构建工具实例。

然后,将Node降级到v8,可以安装scrypt并再次编译。

答案 2 :(得分:0)

遇到了这个问题。删除(或取消设置)VCTargetsPath系统变量已为我修复了该问题。我认为它是由以前的VS2015安装创建的,但是删除VS2015并不能删除变量。

(肯·佩斯皮萨(Ken Pespisa)已经在评论中发布了此内容,但在上次访问此页面时我错过了它。我将其添加为答案,以便人们可以更轻松地找到它。)