背景

最近前端工具链又火了一个项目 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 体验一下。

环境准备

  1. 安装 WSL

官网提供了一键安装脚本,但是只能在 Linux、macOS、WSL 上运行,Windows 桌面环境无法安装,所以你如果要在 windows 上安装,需要先安装 Linux 子系统也就是 WSL。

具体步骤可以参考微软官方文档 Install Linux on Windows with WSL

推荐使用 Windows Terminal 来快速打开 WSL 终端:Microsoft Store: Windows Terminal

  1. 确保开启 BIOS 虚拟机功能

进入 BIOS 将虚拟化技术 Intel Virtual Technology 设置,由 Disable 禁用设置为 Enable 可用。

  1. 开启 Hyper-v

PowerShell 或者 CMD.exe 管理员模式运行

bcdedit /set hypervisorlaunchtype auto

关于虚拟机和 Hyper-v 的设置细节也可以参考这篇博文:Vmware Workstation16 出现 "VMware Workstation 不可恢复错误:(vcpu-1)"故障解决

安装 Bun

  1. 确保 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
  1. 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"
  1. 根据提示手动添加环境变量

使用 vim 打开 .bashrc 文件

vim /root/.bashrc

将以下环境变量设置添加进 .bashrc 文件末尾保存即可

BUN_INSTALL="/root/.bun"
PATH="$BUN_INSTALL/bin:$PATH"

退出 WSL 再进入,检验是否安装成功

bun -h
  1. 测试模块

使用 vscode 的 WSL 扩展来管理 WSL 系统中的项目

官方详细教程 Get started using VSCode with 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 运行时的更多相关文章

  1. windows下安装mongodb以及node.js连接mongodb

    一.MongoDB 下载 下载地址  https://www.mongodb.com/download-center#community  选择windows版下载,然后安装. 二.安装完毕后创建数据 ...

  2. Windows下安装kubectl及Node和Pod操作常用命令

    kubernetes通过kube-apiserver作为整个集群管理的入口.Apiserver是整个集群的主管理节点,用户通过Apiserver配置和组织集群,同时集群中各个节点同etcd存储的交互也 ...

  3. Windows下安装node

    1.安装node及npm Windows下安装软件都是傻瓜式安装,首先登陆官网(https://nodejs.org/en/)下载对应的node程序,然后双击进行安装.安装过程基本上是点击'Next' ...

  4. Windows 下安装 Node.js

    搭建博客系列的 Node.js 环境安装.Windows 下面安装可以通过图形化界面进行安装,非常方面. 1.打开 Node.js 官网,下载对应版本的安装包(msi 后缀的) 2.双击运行下载的程序 ...

  5. windows下安装node【转】

    windows下安装node报错2503.2502 windows下命令行安装,首先使用管理员权限获取cmd msiexec /package node-v10.16.0-x64.msi 根据提示一步 ...

  6. windows下安装node.js及环境配置、部署项目

    windows下安装node.js及环境配置.部署项目 一.总结 一句话总结: 安装nodejs软件:就像普普通通的的软件那样安装 配置nodejs安装的全局模块的环境变量 并且安装cnpm(比如cn ...

  7. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  8. (转)windows下安装nodejs及框架express

    转自:http://jingyan.baidu.com/article/456c463b60fb380a583144a9.html windows下安装nodejs及框架express nodejs从 ...

  9. Windows下安装及使用NVM

    Windows下安装及使用NVM 所谓nvm就是一个可以让你在同一台机器上安装和切换不同版本node的工具.这里是一篇安装及使用教程. 第一步:下载nvm 可以到github上下载最新版本https: ...

  10. Docker windows下安装并搭建Nodejs的webapp

    一.关于Docker 什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎.让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机 ...

随机推荐

  1. CH32V307以太网(芯片内部10M)

    用过WCH的CH579M或者CH563的话,就会发现CH32V307这个自带的10M以太网代码编写与前两颗芯片流程十分相似.部分区别就在于初始化方面. 代码流程依旧按照 初始化--->等待PHY ...

  2. Http请求接口

    方法一.使用springboot框间自带的Http的工具类RestTemplate. RestTemplate为springframework中自带的处理Http的工具类. 具体用法 请求的接口 @R ...

  3. [深度学习] ImageAI库使用笔记

    ImageAI是一个Python库,旨在使开发人员,研究人员和学生能够使用简单的几行代码来构建具有独立的深度学习和计算机视觉功能的应用程序和系统. ImageAI的官方GitHub存储库为https: ...

  4. 将xlsx列表文件转为md列表

    转换网站: https://tableconvert.com/ 在这篇文章中,我将告诉你如何快速的将Excel转换为markdown表格,以及如何将Google Docs,Numbers,网页中的表格 ...

  5. Apache Kafka 的基本概念

    基本概念 主题 Topic topic 是 Kafka 最基础的组织单位,类似于关系数据库中的数据表.做为使用 kafka 的开发者,你最应该考虑的是和 topoc 相关的抽象.创建不同的 topic ...

  6. react,vue中的key有什么作用?(key的内部原理)

    1.虚拟DOM中的key的作用: key是虚拟dom对象的标识,当状态中的数据发生变化时,vue会根据新数据生成新的虚拟dom,随后vue进行新的虚拟dom与旧的虚拟dom的差异比较. 2.比较规则 ...

  7. 【RocketMQ】消息拉模式分析

    RocketMQ有两种获取消息的方式,分别为推模式和拉模式. 推模式 推模式在[RocketMQ]消息的拉取一文中已经讲过,虽然从名字上看起来是消息到达Broker后推送给消费者,实际上还是需要消费向 ...

  8. jupyter的配置

    step1.安装jupyter 使用pip或者conda等包管理工具安装jupyter(这部分倒是没有任何难度,一般也没有什么坑) conda install jupyter notebook或者pi ...

  9. 第三方模块:requests模块和openpyxl模块

    1.第三方模块的下载应由 第三方模块:别人写的模块 一般情况下功能都特别强大 我们如果想使用第三方模块 第一次必须先下载后面才可以反复使用(等同于内置模块) 下载第三方模块的方式 1.pip工具 注意 ...

  10. spring-in-action-初识反应式编程reactor

    一:反应式编程 1.反应式编程的优点 1)无阻塞 2)处理的数据可以是无限的 打水仗:  命令式编程:使用的是水气球.水气球的容量有限.把水气球装水,再扔向对方.如果想要更多的水,就需要更多的水气球. ...