Windows 下安裝 Bun:像 Node 或 Deno 一樣的現(xiàn)代 JavaScript 運(yùn)行時

背景

最近前端工具鏈又火了一個項(xiàng)目 Bun,可以說內(nèi)卷非常嚴(yán)重。Bun 是一個新的 JavaScript 運(yùn)行時,內(nèi)置了打包器、轉(zhuǎn)譯器、任務(wù)運(yùn)行器和 npm 客戶端。

Bun 是像 Node 或 Deno 一樣的現(xiàn)代 JavaScript 運(yùn)行時。和 node 不同的是 Bun 擴(kuò)展自 JavaScriptCore,而不是 V8。Bun 原生實(shí)現(xiàn)了數(shù)百個 Node.js 和 Web API,包括約 90% 的 Node-API 函數(shù)(本機(jī)模塊)、fs、path、Buffer 等。

Bun 的目標(biāo)是在瀏覽器之外運(yùn)行世界上大多數(shù) JavaScript,為您的未來基礎(chǔ)架構(gòu)帶來性能和復(fù)雜性的增強(qiáng),并通過更好、更簡單的工具提高開發(fā)人員的生產(chǎn)力。

小編計(jì)劃在 Windows 上嘗試安裝 Bun 體驗(yàn)一下。

環(huán)境準(zhǔn)備

  1. 安裝 WSL

官網(wǎng)提供了一鍵安裝腳本,但是只能在 Linux、macOS、WSL 上運(yùn)行,Windows 桌面環(huán)境無法安裝,所以你如果要在 windows 上安裝,需要先安裝 Linux 子系統(tǒng)也就是 WSL。

具體步驟可以參考微軟官方文檔 Install Linux on Windows with WSL

推薦使用 Windows Terminal 來快速打開 WSL 終端:Microsoft Store: Windows Terminal

  1. 確保開啟 BIOS 虛擬機(jī)功能

進(jìn)入 BIOS 將虛擬化技術(shù) Intel Virtual Technology 設(shè)置,由 Disable 禁用設(shè)置為 Enable 可用。

  1. 開啟 Hyper-v

PowerShell 或者 CMD.exe 管理員模式運(yùn)行

bcdedit /set hypervisorlaunchtype auto

關(guān)于虛擬機(jī)和 Hyper-v 的設(shè)置細(xì)節(jié)也可以參考這篇博文:Vmware Workstation16 出現(xiàn) "VMware Workstation 不可恢復(fù)錯誤:(vcpu-1)"故障解決

安裝 Bun

  1. 確保 WSL 系統(tǒng)(我的是 Ubuntu)安裝了 unzip,否則安裝 Bun 的時候會報錯
error: unzip is required to install Bun (see: https://github.com/Jarred-Sumner/bun#unzip-is-required

Terminal 打開 WSL,Ubuntu 系統(tǒng)用以下命令安裝 unzip

sudo apt-get install unzip
  1. WSL 下輸入
 curl https://bun.sh/install | bash

出現(xiàn)以下提示即為安裝成功

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. 根據(jù)提示手動添加環(huán)境變量

使用 vim 打開 .bashrc 文件

vim /root/.bashrc

將以下環(huán)境變量設(shè)置添加進(jìn) .bashrc 文件末尾保存即可

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

退出 WSL 再進(jìn)入,檢驗(yàn)是否安裝成功

bun -h
  1. 測試模塊

使用 vscode 的 WSL 擴(kuò)展來管理 WSL 系統(tǒng)中的項(xiàng)目

官方詳細(xì)教程 Get started using VSCode with WSL

我們新建一個 http.js 文件,編寫代碼

// http.js
export default {
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
};

啟動 http 服務(wù)

bun run http.js

訪問 http://localhost:3000 就可以看到Welcome to Bun!信息,表示運(yùn)行成功。

官網(wǎng)還提供了更多案例可以嘗試: Bun Examples

總結(jié)

體驗(yàn)下來,這款工具的使用還有待改進(jìn),特別是對于 Windows 用戶,安裝起來并不容易,最好能提供 Windows 安裝包。當(dāng)前只是 beta 版本,可以用作學(xué)習(xí),要上生產(chǎn)使用可能還有段路要走,畢竟 Node.js 已經(jīng)被前端開發(fā)所熟知,而且還有 Deno 的生態(tài)正在建立,任重而道遠(yuǎn)。

參考

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容