返回 文章 学习 CMS 文章

任何 Nix 包,直接在浏览器中运行

在浏览器里通过 WebAssembly 运行任意 Nix 包,无需服务器。

NixWebAssemblyqemu-wasm浏览器虚拟机
成长分 / 100 68 综合收获、行动、留存与影响

为什么值得读了解如何用 qemu-wasm 在浏览器中运行完整 Linux 虚拟机并启动任意 Nix 包。

看到 trynix-preview 如何将 PR 构建变成可点击的浏览器链接,简化代码审查。

关键洞察
  1. trynix.dev 提供由 qemu-wasm 驱动的 x86_64 Linux 虚拟机,完全通过 WebAssembly 在浏览器中运行。
  2. 该虚拟机可以启动过去 13 年中的任何 Nix 包,并可通过 URL 寻址。
  3. 例如访问 https://trynix.dev/?pkg=python3%403.6.2 并点击 Load,即可获得运行 2017 年 Python 3.6.2 的交互式 shell。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:1622

任何 Nix 包,直接在浏览器中运行(来源)Farid Zakaria 称这是他的 Nix 工作中的“magnum opus”(代表作),我能理解为什么。

trynix.dev 提供了一个由 qemu-wasm 驱动的 x86_64 Linux 虚拟机,通过 WebAssembly 完全在你的浏览器中运行。这个虚拟机可以用过去 13 年间的任何 Nix 包来启动。它们都可以通过 URL 寻址,因此你可以访问这个页面:

https://trynix.dev/?pkg=python3%403.6.2

然后点击“Load”,就能得到一个交互式 shell,连接到一台运行着 2017 年的 Python 3.6.2 的虚拟机。

Farid 正在此基础上构建各种有趣的东西。最近的一个例子是:通过启动来评审拉取请求介绍了 trynix-preview,其描述如下:

一个 GitHub action,会在拉取请求上评论一个链接,让你能用 https://trynix.dev 在浏览器中启动该 PR 的构建产物。没有服务器,只有浏览器。