跟我一起用 WSL2 在 windows 体验 Bun、Mojo

#1 概述

9月初,我关注的 Mojo、Bun 相继发布正式版,遗憾的是,均没有对 windows 平台提供直接支持 ,强烈的好奇心驱使,我决定在 WSL(windows subsystem for linux)上搭建相关环境尝尝鲜。

Bun.js

Bun is an all-in-one JavaScript runtime & toolkit designed for speed, complete with a bundler, test runner, and Node.js-compatible package manager.

简单来说,Bun (包子)就是 JavaScript/TypeScript 开发的全家桶,兼容 Node.js,速度更快。

Mojo 编程语言
比 Python 快 68000 倍!Mojo 正式发布,网友:Python 生态系统最重要的升级来了,看这标题都让人震惊。

在恐怖提速的同时,Mojo 还提供了构建工具、Jupyter 内核,妥妥的全家桶,不过开发者就喜欢这样的。更骚的是,Mojo 文件后缀既支持 .mojo,还能用 . ,以后能看到这样的目录:
跟我一起用 WSL2 在 windows 体验 Bun、Mojo_第1张图片

#2 环境准备

WSL 要求 windows 10/11 版本,如果您的系统不在此范围,将无法进行实践。具体的按照方法参考:如何使用 WSL 在 Windows 上安装 Linux。

# 查看安装的版本
> wsl --version
WSL 版本: 1.2.5.0
内核版本: 5.15.90.1
WSLg 版本: 1.0.51

#2.1 手动安装

如果使用wsl --install命令进行安装,默认使用的是 Ubuntu,我个人用惯了 CentOS,于是选择手动安装同样基于 RedHat 的 Oracle Linux,方便自定义安装路径。

将下载好的 Appx 文件解压到心仪位置,双击 exe 文件,几分钟就能完成(此时在同目录下会创建存储文件ext4.vhdx)。之后可以通过wsl命令直接远程连接到 linux 系统。
跟我一起用 WSL2 在 windows 体验 Bun、Mojo_第2张图片

# 查看状态
> wsl --status
默认分发: OracleLinux_8_5
默认版本: 2
> wsl -l -v
  NAME               STATE           VERSION
* OracleLinux_8_5    Running         2

让我们看看资源占用:

#2.2 WSL 常用命令

命令 说明
wsl 进入当前运行的子系统(如果未运行则自动启动)
wsl --status 查看状态
wsl --list --online 列出可用的 linux 发行版
wsl --list --verbose 列出已安装的 linux 发行版
wsl --update 更新 WSL
wsl --shutdown 关闭 WSL

#2.3 修改 WSL 主机名

修改/etc/wsl.conf文件(如不存在则新建),内容如下:

[network]
hostname={主机名}

#3 实战 Bun.js

#3.1 安装

# 推荐安装方式
curl -fsSL https://bun.sh/install | bash 
# 通过 npm 方式安装,官方骚话 the last `npm` command you'll ever need 
npm install -g bun 

使用curl安装大概率会因为你没有魔法而失败,哪怕宿主机启用了 github 加速器,在 WSL 下还是无法正常访问下载所需文件。

curl: (6) Could not resolve host: github.com
error: Failed to download bun from "https://github.com/oven-sh/bun/releases/latest/download/bun-linux-x64.zip"

此处提供一个可行方案:

  1. 手动下载所需的压缩包(见上述地址)
  2. 放置到 \\wsl.localhost\{子系统}\home\zxm\.bun\bin\bun.zip
  3. 把官方的安装脚本另存为 install.sh,删除或注释掉其中的下载代码(大致在 127 行,curl 开头)
  4. 执行install.sh
$ sh install.sh
bun was installed successfully to ~/.bun/bin/bun
Added "~/.bun/bin" to $PATH in "~/.bashrc"
To get started, run:
  source /home/zxm/.bashrc
  bun --help
$ source /home/zxm/.bashrc
$ bun -v
1.0.2
# 立马试试运行 Hello World
$ echo "console.log('hello, Bun.js\!')" > index.js
$ bun index.js
hello, Bun.js!
# 试下打包成可执行文件
$ bun build index.js --compile --outfile hello
   [7ms]  bundle  1 modules
  [76ms] compile  hello
# 打包速度非常快,结果文件约 93M(就是把整个 bun 装进去了) 

#4 实战 Mojo

待完善…

#4 结语

这里介绍了如何在 WSL 上使用 Bun.js、Mojo,浅尝辄止,毕竟新技术出来到投入生产,还有好长一段路要走,生态完善起来才行。

你可能感兴趣的:(mojo,WSL,bun.js)