pwsh.exe),而非默认的 powershell.exe。
前置条件
启用脚本执行
默认情况下,运行未验证脚本会被阻止。系统依赖
Bun 版本需为 v1.1 或更高。我们使用 Bun 来运行它自身的代码生成器。- LLVM 19.1.7
- Go
- Rust
- NASM
- Perl
- Ruby
- Node.js
构建过程中会自动下载、安装和更新 Zig 编译器。
Scoop
请勿使用 WinGet 或其他包管理器安装这些工具,因为您可能会安装 Strawberry Perl,而不是更轻量的 Perl 版本。Strawberry Perl 会安装许多其他工具到
$Env:PATH,这些工具会与 MSVC 冲突并导致构建失败。Scoop
.\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/ - Zig 解压路径为
build/debug/cache/zig/bin/zig.exe
测试
您可以使用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 调试器中还未关闭。