Windows 构建工具

本文包含 Python 和 Microsoft Build Tools 的下载安装流程,无论是使用基于 C/C++ 扩展的 Node.js 模块(如 node-sass/node-canvas/node-gyp 等)还是安装 Rust 都依赖 Windows 构建工具(本文不打算采用全局安装 windows-build-tools npm 包的方案)。

Python

在没有安装 Python 的 Windows 10 上执行 python 命令,会自动打开 Microsoft Store 进入 Python 软件下载页面,没有提示 'python' 不是内部或外部命令,也不是可运行的程序或批处理文件。

使用 where 命令确认 python 的实际路径:

> where python
C:\Users\keqingrong\AppData\Local\Microsoft\WindowsApps\python.exe

> where python3
C:\Users\keqingrong\AppData\Local\Microsoft\WindowsApps\python3.exe

依次打开设置(Settings)> 应用(Apps)> 应用和功能(Apps & features),点击应用执行别名(Manage app execution aliases),进入应用执行别名(App execution aliases)设置页面,关闭应用安装程序(App Installer)的两个别名:python.exepython3.exe

此处不安装 Microsoft Store 中的 Python 应用,直接去 https://www.python.org/ 下载安装包。

安装完成后(勾选添加到 PATH):

> where python
D:\Apps\Python\Python39\python.exe

如果重新打开 python.exepython3.exe 的别名,会包含两条记录:

> where python
D:\Apps\Python\Python39\python.exe
C:\Users\keqingrong\AppData\Local\Microsoft\WindowsApps\python.exe

Microsoft Build Tools

可以打开 Microsoft C++ Build Tools 独立的下载页面 https://visualstudio.microsoft.com/visual-cpp-build-tools/ 或者 Visual Studio 的下载页面 https://visualstudio.microsoft.com/downloads/ 选择 Build Tools for Visual Studio 2019 进行下载。

  • Visual Studio 2019
    • Visual Studio Enterprise 2019
    • Visual Studio Professional 2019
    • Visual Studio Team Explorer 2019
    • Visual Studio Community 2019
  • Tools for Visual Studio 2019
    • Remote Tools for Visual Studio 2019
    • Performance Tools for Visual Studio 2019
    • IntelliTrace Standalone Collector for Visual Studio 2019
    • Agents for Visual Studio 2019
    • Build Tools for Visual Studio 2019
  • Visual Studio for Mac
    • Visual Studio 2019 for Mac
  • Visual Studio Code
    • Visual Studio Code Tools for AI
    • Visual Studio Code
  • Other Tools, Frameworks, and Redistributables
    • Azure DevOps Office® Integration 2019
    • Microsoft Visual C++ Redistributable for Visual Studio 2019
    • .NET Core and .NET Framework
    • Visual Studio Team Services CLI (Preview)

无论是 Microsoft C++ Build Tools 还是 Build Tools for Visual Studio 2019,最终下载的文件都是 vs_buildtools.exe

可以直接双击 vs_buildtools.exe 打开 Visual Studio 安装器,勾选【C++ 生成工具(C++ build tools)】和中英文语言包进行安装,默认会安装到 C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools

另外还可以在命令行中进行静默安装:

vs_buildtools.exe --help

vs_buildtools.exe --quiet
vs_buildtools.exe --quiet --add Microsoft.VisualStudio.Workload.VCTools
vs_buildtools.exe --quiet --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended
vs_buildtools.exe --quiet --add Microsoft.VisualStudio.Workload.MSBuildTools --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --lang en-US --locale en-US

以下是部分可安装的组件:

  • MSBuild Tools (Microsoft.VisualStudio.Workload.MSBuildTools)
    • Microsoft.Component.MSBuild
    • Microsoft.VisualStudio.Component.CoreBuildTools
    • Microsoft.VisualStudio.Component.Roslyn.Compiler
  • Node.js build tools (Microsoft.VisualStudio.Workload.NodeBuildTools)
    • Microsoft.VisualStudio.Component.Node.Build
    • Microsoft.VisualStudio.Component.TypeScript.4.0
  • C++ build tools (Microsoft.VisualStudio.Workload.VCTools)
    • Microsoft.Component.MSBuild
    • Microsoft.VisualStudio.Component.Roslyn.Compiler
    • Microsoft.VisualStudio.Component.VC.CoreBuildTools
    • Microsoft.VisualStudio.Component.Windows10SDK

更多组件参见 Visual Studio 生成工具组件目录

相关名词

  • MSVC: Microsoft C++ (Microsoft Visual C++) 微软的 C/C++ 编译器(Compiler)和链接器(Linker)
  • VCBuild: 旧版构建工具,VS2008 及之前版本使用,VS2010 开始切换到 MSBuild
  • MSBuild: Microsoft Build Engine 微软开发的构建引擎
  • VS: Visual Studio 微软开发的 IDE,过去为 Microsoft Visual C++

相关链接