背景

最近前端工具链又火了一个项目 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. 在IQuery中使用除法提示"Numeric value does not fit in a System.Decimal"

    起因 有个需求是需要汇总(单耗=单件用量*1+损耗率)的值,由于现在我们数据库中存的XX率都是放大了一百倍(即10%数据库存的是10),然后就很自然的写了个linq汇总如下 materialOrder ...

  2. C++进阶(位图+布隆过滤器的概念和实现+海量数据处理)

    位图 概念 位图: 所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景.通常是用来判断某个数据存不存在的. 适用场景: 如果我们需要对大量的数据进行处理,判断该数据在不在,比如40 ...

  3. [随笔所想] UBC学习生活经验分享

    当时受到了很多人的帮助,在网上也查到了很多经验帖子,比如如何办理签证,如何填写表格,要准备哪些材料以及生活上要带哪些物品,等等.当时就想到等我办理好这些,也一定和大家分享,为更多的人提供一些参考. 1 ...

  4. Shell 基本常识

    Shell 进入命令行 启动 shell 常用命令 系统管理命令 处理数据命令 Linux 基础管理命令 用户管理 管理文件系统 软件包管理系统 使用容器管理软件 理解 shell 子 shell 环 ...

  5. S2-017 CVE-2013-2248

    漏洞名称 Apache Struts 多个开放重定向漏洞 (CVE-2013-2248) s2-017 利用条件 Struts 2.0.0 - Struts 2.3.15 漏洞原理 通过操作前缀为&q ...

  6. salesforce零基础学习(一百二十四)Postman 使用

    本篇参考: Salesforce 集成篇零基础学习(一)Connected App salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesfo ...

  7. 【C++ 数据结构:链表】二刷LeetCode707设计链表

    [C++链表] 使用c++重新写一遍LeetCode707设计链表 目的是熟悉c++中链表的操作 知识点 C++链表节点的实现 在c++中,一般通过结构体来定义链表的节点,也需要写构造函数(使用初始化 ...

  8. 应用容器引擎-Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.容器是完全使用沙箱 ...

  9. ubuntu20.04 gnome桌面系统添加开机自启动GUI程序

    在终端执行 gnome-session-properties,点击添加自己的脚本或执行文件,便可以在用户登录后自动执行.

  10. JSP第十一次作业

    1.第十二周上机作业(邮件功能)的控制层代码改用为servlet实现.2.学习通发布了考试,截止到本周六.  com.gd.dao  BaseDao 1 package com.gd.dao; 2 3 ...