Windows 下安装 Bun:像 Node 或 Deno 一样的现代 JavaScript 运行时
背景
最近前端工具链又火了一个项目 Bun,可以说内卷非常严重。Bun 是一个新的 JavaScript 运行时,内置了打包器、转译器、任务运行器和 npm 客户端。
Bun 是像 Node 或 Deno 一样的现代 JavaScript 运行时。和 node 不同的是 Bun 扩展自 JavaScriptCore,而不是 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 运行时的更多相关文章
- windows下安装mongodb以及node.js连接mongodb
一.MongoDB 下载 下载地址 https://www.mongodb.com/download-center#community 选择windows版下载,然后安装. 二.安装完毕后创建数据 ...
- Windows下安装kubectl及Node和Pod操作常用命令
kubernetes通过kube-apiserver作为整个集群管理的入口.Apiserver是整个集群的主管理节点,用户通过Apiserver配置和组织集群,同时集群中各个节点同etcd存储的交互也 ...
- Windows下安装node
1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...
- Windows 下安装 Node.js
搭建博客系列的 Node.js 环境安装.Windows 下面安装可以通过图形化界面进行安装,非常方面. 1.打开 Node.js 官网,下载对应版本的安装包(msi 后缀的) 2.双击运行下载的程序 ...
- windows下安装node【转】
windows下安装node报错2503.2502 windows下命令行安装,首先使用管理员权限获取cmd msiexec /package node-v10.16.0-x64.msi 根据提示一步 ...
- windows下安装node.js及环境配置、部署项目
windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- (转)windows下安装nodejs及框架express
转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...
- Windows下安装及使用NVM
Windows下安装及使用NVM 所谓nvm就是一个可以让你在同一台机器上安装和切换不同版本node的工具.这里是一篇安装及使用教程. 第一步:下载nvm 可以到github上下载最新版本https: ...
- Docker windows下安装并搭建Nodejs的webapp
一.关于Docker 什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎.让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机 ...
随机推荐
- JDBC中文乱码问题
解决JDBC中文数据存入数据库乱码问题 ?useUnicode=true&characterEncoding=utf-8
- JSONObject 相关
/** * 将json转为对应实体类 */ public static Object jsonToJavaObj(String json, Class cs) { return jsonToJavaO ...
- Gvim基础操作(正则表达式)-02
Gvim正则表达式 正则表达式在linux中使用非常广泛.主要是进行一些替换,在编写脚本的时候都会使用到.gvim.perl.sed.tcl中都会使用到. Gvim正则表达式的使用 搜索命令 /正则表 ...
- Vue ElementUI 修改MessageBox 弹框样式
1.情景还原 <template> <el-button type="text" @click="open">点击打开 Message ...
- SkyWalking安装及SkyApm运行(.net和java)
一.部署SkyWalking 1.下载SkyWalking包(版本为6.6.0) 下载地址为:http://skywalking.apache.org/downloads/ 2.修改数据库配置 默认为 ...
- BIGO 如何做到夜间同时运行 2.4K 个工作流实例?
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 精彩回顾 近期,BIGO 的大数据研发工程师许名勇在社 ...
- Vue过滤案例、按键修饰符、数据双向绑定
目录 Vue过滤案例.按键修饰符.数据双向绑定 一.v-for能循环的类型 二.js的几种循环方式 三.key值的解释 四.数组.对象的检测与更新 五.input的几个事件 六.事件修饰符 七.按键修 ...
- 真正“搞”懂HTTPS协议之目录和一点啰嗦
说实话,我写完这个系列之后,或者说抄完这个系列之后,唯一的脑海里浮现的词叫做"惭愧".如果你读过罗剑锋老师的<透视HTTP协议>的话,就能察觉到本系列越往后面的部分,几 ...
- .net core 前端传递参数有值 后端接收到的数据却是null
1.问题分析 在做接口测试时,偶然出现了前端输出有值,但是后端断点调试时却出现接收参数总是为null的情况 2.解决办法 前端打印log,看前端的每一个传值的数据类型,与后端请求参数类进行认真的一一比 ...
- Archiver Appliance bug report(问题已解决,见文末)
本来想发到EPICS mailist里问的,可是发了两次给弹回来,不方便的等不及了,就在这问吧,谁知道怎么解决麻烦一定指导一下. ########################## Hi ALL: ...