簡體   English   中英

嘗試安裝 npm 模塊 scrypt 時出現“錯誤 MSB8020:找不到 v141 的構建工具(平台工具集 = 'v141')”

[英]"error MSB8020: The build tools for v141 (Platform Toolset = 'v141') cannot be found" when trying to install npm module scrypt

我正在嘗試安裝 npm 模塊scrypt

我知道 scrypt 需要 node-gyp,我在全球范圍內安裝了它(幾次)。 我也知道 node-gyp 需要 python 2.7 和 MS Build Tools。 我安裝了最新的 python 2.7 版本並安裝了 MS Build Tools。 我也嘗試過 VS Community Edition 2017。我嘗試修復並重新安裝兩者。

我還全局成功安裝了 npm 包windows-build-tools (多次)。

但是我嘗試npm i scrypt我收到以下錯誤:

C:\\Program Files (x86)\\MSBuild\\Microsoft.Cpp\\v4.0\\V140\\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v141 (Platform Toolset = 'v141')找不到。 要使用 v141 構建工具進行構建,請安裝 v141 構建工具。 或者,您可以通過選擇“項目”菜單或右鍵單擊解決方案,然后選擇“重定向解決方案”來升級到當前的 Visual Studio 工具。 [c:\\project\\node_modules\\scrypt\\build\\copied_files.vcxproj] C:\\Program Files (x86)\\MSBuild\\Microsoft.Cpp\\v4.0\\V140\\Microsoft.Cpp.Platform.targets(57,5):錯誤 MSB8020:找不到 v141(平台工具集 = 'v141')的構建工具。 要使用 v141 構建工具進行構建,請安裝 v141 構建工具。 或者,您可以通過選擇“項目”菜單或右鍵單擊解決方案,然后選擇“重定向解決方案”來升級到當前的 Visual Studio 工具。 [c:\\project\\node_modules\\scrypt\\build\\scrypt_wrapper.vcxproj]

任何提示或建議?

幾個小時后,我發現visual studio 2015 有一個舊安裝。我必須先卸載它。 我不知道,為什么不使用最新的構建工具實例。

在此之后,將 Node 降級到 v8,可以再次安裝和編譯 scrypt。

我想為卸載舊版 Visual Studio 的 smonkey 修復了它的原因是卸載過程還從 %PATH% 中刪除了舊的 MSBuild 路徑。

因為對我來說,只需從路徑中刪除舊的 MSBuild.exe 即可修復它。 node-gyp不需要路徑上的 MSBuild,但如果路徑上有一個對於構建目標來說太舊了,它就會被絆倒。

因此,要么刪除您的 MSBuild 路徑,要么確保它指向最新版本。 當然,除非您無論如何都想卸載 Visual Studio,但這對某些人來說不是一個選擇。

剛遇到這個問題。 刪除(或取消設置)VCTargetsPath 系統變量為我修復了它。 我認為它是由以前的 VS2015 安裝創建的,但是刪除 VS2015 並沒有刪除該變量。

(Ken Pespisa 已經在評論中發布了此內容,但我在之前訪問此頁面時錯過了它。我將其添加為答案,以便人們可以更輕松地找到它。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM