Windows 下安装 Bun:像 Node 或 Deno 一样的现代 JavaScript 运行时
背景
最近前端工具链又火了一个项目 Bun,可以说内卷非常严重。Bun 是一个新的 JavaScript 运行时,内置了打包器、转译器、任务运行器和 npm 客户端。
Bun 是像 Node 或 Deno 一样的现代 JavaScript 运行时。和 Nodejs 不同的是 Bun 扩展自 jsCore,而不是 V8。Bun 原生实现了数百个 Node.js 和 Web API,包括约 90% 的 Node-API 函数(本机模块)、fs、path、Buffer 等。
Bun 的目标是在浏览器之外运行世界上大多数 JavaScript,为您的未来基础架构带来性能和复杂性的增强,并通过更好、更简单的工具提高开发人员的生产力。
小编计划在 Windows 上尝试安装 Bun 体验一下。
环境准备
- 安装 WSL
官网提供了一键安装脚本,但是只能在 Linux、macOS、WSL 上运行,Windows 桌面环境无法安装,所以你如果要在 windows 上安装,需要先安装 Linux 子系统也就是 WSL。
具体步骤可以参考微软官方文档 Install Linux on Windows with WSL
推荐使用 Windows Terminal 来快速打开 WSL 终端:Microsoft Store: Windows Terminal
- 确保开启 BIOS 虚拟机功能
进入 BIOS 将虚拟化技术 Intel Virtual Technology
设置,由 Disable
禁用设置为 Enable
可用。
- 开启 Hyper-v
PowerShell 或者 CMD.exe 管理员模式运行
bcdedit /set hypervisorlaunchtype auto
关于虚拟机和 Hyper-v 的设置细节也可以参考这篇博文:Vmware Workstation16 出现 “VMware Workstation 不可恢复错误:(vcpu-1)”故障解决
安装 Bun
- 确保 WSL 系统(我的是 Ubuntu)安装了 unzip,否则安装 Bun 的时候会报错
error: unzip is required to install Bun (see: https://github.com/Jarred-Sumner/bun#unzip-is-required
用 Terminal
打开 WSL
,Ubuntu 系统用以下命令安装 unzip
sudo apt-get install unzip
- WSL 下输入
curl https://bun.sh/install | bash
出现以下提示即为安装成功
Bun was installed successfully to /root/.bun/bin/bun
Manually add the directory to your $HOME/.bashrc (or similar)
BUN_INSTALL="/root/.bun"
PATH="$BUN_INSTALL/bin:$PATH"
- 根据提示手动添加环境变量
使用 vim 打开 .bashrc
文件
vim /root/.bashrc
将以下环境变量设置添加进 .bashrc
文件末尾保存即可
BUN_INSTALL="/root/.bun"
PATH="$BUN_INSTALL/bin:$PATH"
退出 WSL 再进入,检验是否安装成功
bun -h
- 测试模块
使用 vscode 的 WSL 扩展来管理 WSL 系统中的项目
我们新建一个 http.js
文件,编写代码
// http.js
export default {
port: 3000,
fetch(request) {
return new Response("Welcome to Bun!");
},
};
启动 http 服务
bun run http.js
访问 http://localhost:3000
就可以看到Welcome to Bun!
信息,表示运行成功。
官网还提供了更多案例可以尝试: Bun Examples
总结
体验下来,这款工具的使用还有待改进,特别是对于 Windows 用户,安装起来并不容易,最好能提供 Windows 安装包。当前只是 beta 版本,可以用作学习,要上生产使用可能还有段路要走,毕竟 Node.js 已经被前端开发所熟知,而且还有 Deno 的生态正在建立,任重而道远。
参考
- Windows 下安装 Bun:像 Node 或 Deno 一样的现代 JavaScript 运行时
- Vmware Workstation16 出现 “VMware Workstation 不可恢复错误:(vcpu-1)”故障解决
- Bun