我正在尝试安装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]
有任何提示或建议吗?
答案 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)已经在评论中发布了此内容,但在上次访问此页面时我错过了它。我将其添加为答案,以便人们可以更轻松地找到它。) >