All Tags
On this page
windows通过ubuntu子系统安装bun
#vscode #bun
avatar
jerrywu001
创建时间:2023-09-14 05:55:43

bun:开发、测试、运行和捆绑 JavaScript 和 TypeScript 项目——全部使用 Bun。Bun 是一款专为提高速度而设计的一体化 JavaScript 运行时和工具包,配有捆绑器、测试运行器和与 Node.js 兼容的包管理器

很遗憾,它目前无法在windows上直接安装使用,必须通过linux子系统安装,下面是详细安装步骤

ubuntu子系统安装

通过store商店安装 (不推荐)

打开windows 商店,搜索ubuntu 点击安装即可

image.png

使用命令并安装到D盘(强烈推荐)

如果已经安装过,这里是卸载方法: https://blog.csdn.net/jarvan5/article/details/118144722

  • 以管理员身份打开powershell

image.png

  • powserSheell 依次执行下面4个命令
wsl --install

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

wsl --set-default-version 2
  • 下载 Linux 内核更新包

内核更新包

下载完成,双击运行

关于2503的报错,请参考:https://blog.csdn.net/zhangvalue/article/details/80309828

  • 下载Ubuntu_2004.2020.424.0_x64.appx

下载链接:https://wsldownload.azureedge.net/Ubuntu_2004.2020.424.0_x64.appx

我是通过迅雷下载,快很多,比如下载到D盘

  • 下载完成后,powserSheell 依次执行
Expand-Archive .\Ubuntu.zip -Verbose

cd .\Ubuntu\

.\ubuntu2004.exe

接着初始化用户名和密码即可

image.png

打开新的powsershell,验证状态,看到state是running

wsl -l -v

image.png

同时,你可以双击exe,然后锁定到任务栏,方便后续查找

image.png

切记,不要换源,否则sudo apt update可能会报错

安装bun

打开子系统,开始安装

通过proto安装

https://moonrepo.dev/docs/proto/install

image.png

sudo apt update

curl -fsSL https://moonrepo.dev/install/proto.sh | bash

proto install bun 1.0

首选方案(推荐)

https://bun.sh/docs/installation

sudo apt update

sudo apt install unzip

curl -fsSL https://bun.sh/install | bash

image.png

最后一个指令,需要等待一点时间(如果卡住, 那就ctrl + c,然后重新执行)

下载后,是这样

image.png

按照提示,执行source命令即可结束bun的安装

---> 验证bun

image.png

子系统访问本机文件夹

cd /mnt

ls

cd d # 比如进入D盘

ls -al

image.png

image.png

安装node/pnpm

proto install node 18
proto install pnpm

等待一段时间

image.png

通过vscode链接子系统

上述成功后,子系统中随便创建个文件夹,然后code .即可打开vscode,会自动安装wsl插件链接子系统

image.png

image.png

image.png

正题,bun的简单示例

https://bun.sh/docs/quickstart

创建项目文件夹

mkdir quickstart
cd quickstart

初始化示例项目

bun init

image.png

按提示执行即可

image.png

server 示例

修改index.ts

const server = Bun.serve({
  port: 3000,
  fetch(req) {
    return new Response("Bun!");
  },
});

console.log(`Listening on http://localhost:${server.port} ...`);

image.png

点击预览即可

image.png

体验bun install

也许受限于虚拟机的性能,没感觉到有多快,足足跑了210s😂。

image.png

于是我用一个基础项目(240+ pkgs)在vercel云服务器上测试了下

  • npm install16s

  • bun install4s

  • 项目访问测试也是可以的(第一次访问地址有点慢

image.png

确实快

image.png

端口被占用解决

lsof -i :3000

kill -9 xxxx

image.png

也可以点击此处进行端口管理(最好关闭之前ctrl+c终止进程)

image.png