本文档介绍了在 Windows 上的构建流程。如果您遇到问题,请加入我们的 Discord #contributing 频道 寻求帮助。 强烈建议使用 PowerShell 7(Documentation Index
Fetch the complete documentation index at: https://bun.zhcndoc.com/llms.txt
Use this file to discover all available pages before exploring further.
pwsh.exe),而非默认的 powershell.exe。
前置条件
启用脚本执行
默认情况下,运行未验证脚本会被阻止。系统依赖
Bun 版本需为 v1.1 或更高。我们使用 Bun 来运行它自身的代码生成器。- LLVM 21.1.8
- Go
- Rust (via rustup)
- NASM
- Perl
- Ruby
- Node.js
rust-toolchain.toml 中固定的 Rust nightly 工具链会在首次构建时由 rustup 自动安装。Scoop (x64)
ARM64
请勿使用 WinGet 或其他包管理器安装这些工具,因为您可能会安装 Strawberry Perl,而不是更轻量的 Perl 版本。Strawberry
Perl 会安装许多其他工具到
$Env:PATH,这些工具会与 MSVC 冲突并导致构建失败。Scoop
ARM64 构建不需要 Cygwin,因为 WebKit 已作为预编译二进制文件提供。
.\scripts\vs-shell.ps1 的 PowerShell 终端。该脚本可在 Bun 仓库中找到,并可通过执行以下命令加载:
mt.exe)来验证是否正确加载:
不建议将
ninja 或 cmake 安装到全局路径中,因为您可能会在未加载 .\scripts\vs-shell.ps1 的情况下构建
Bun,导致构建失败。构建
build/debug 文件夹中看到 bun-debug.exe。
$Env:PATH。最简便的办法是打开开始菜单,输入“Path”,然后进入环境变量菜单,将 C:\.....\bun\build\debug 添加到用户环境变量 PATH。之后重启编辑器(如果依旧未更新,则注销后重新登录)。
额外路径
- WebKit 已提取到
build/debug/cache/webkit/
测试
您可以使用bun test <路径> 或封装脚本 bun node:test <路径> 运行测试套件。bun node:test 命令会在独立的 bun.exe 实例中运行每个测试文件,防止测试运行器崩溃影响整个测试套件。
故障排查
.rc 文件构建失败
llvm-rc.exe 表现异常,请勿使用。请使用 rc.exe,确保您在 Visual Studio 的开发者终端中,并用 rc /? 检查是否为 “Microsoft Resource Compiler”。
输出写入失败 ‘bun-debug.exe’: 权限被拒绝
如果bun-debug.exe 已打开,您无法覆盖它。可能是您有正在运行的实例,或者在 VSCode 调试器中还未关闭。