当前位置: 首页 > news >正文

Bun 安装指南:三步玩转这款四合一 JavaScript 运行时

Bun 安装指南:三步玩转这款四合一 JavaScript 运行时

【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bun

Bun 是一款集高性能运行时、包管理器、测试运行器与打包器于一体的 JavaScript 运行时。本安装指南带你完成 Bun 安装、验证到版本管理的全部流程,macOS、Linux、Windows 一条命令即可上手。

快速上手:一条命令完成 Bun 安装

最省事的路径是官方安装脚本:它会自动识别你的操作系统与 CPU 架构,下载对应预编译二进制并放入~/.bun。macOS / Linux 用户复制这条命令执行即可:

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

看到Bun was installed successfully之类的成功提示,说明二进制已就位;接着按第 3 节验证一次。Windows 用户请跳到下一节选对应命令。

执行前两个小前提:

  • Linux 需要先有unzip包:sudo apt install unzip
  • Windows 需要 Windows 10 1809 或更高版本

挑选你的 Bun 安装路径

macOS / Linux:3 种选法

① 官方脚本(推荐)

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

首次安装首选:自动匹配架构(Intel / Apple Silicon / ARM64),后续bun upgrade自更新也最顺畅。

② npm 全局安装

npm install -g bun

已经在用 npm 工作流时最顺手,走的是 npm 的全局目录管理。

③ Homebrew(macOS)

brew install oven-sh/bun/bun

习惯用 brew 统一管理工具的人选它,升级要走brew upgrade bun

Windows:3 种选法

① PowerShell 一行流(推荐)

powershell -c "irm bun.sh/install.ps1|iex"

脚本会把 Bun 装到~/.bun/bin并尽量自动写入 PATH,装完新开一个终端测试。

② npm 全局安装

npm install -g bun

适合已配置好 Node.js 环境、想沿用 npm 全局目录的用户。

③ Scoop 包管理器

scoop install bun

Scoop 用户推荐用它安装,卸载、更新都交给 Scoop 管理。

安装后验证与 PATH 配置

先打开一个新终端执行:

bun --version # 输出类似 1.4.0 bun --revision # 查看当前二进制对应的精确提交号

看到版本号即安装成功。若提示command not found,说明 Bun 装好了但所在目录不在 PATH 里,按下面步骤配置。

macOS / Linux 三步配好 PATH

  1. 执行echo $SHELL确认自己的 shell(bash / zsh / fish)。
  2. 打开对应配置文件:bash 用~/.bashrc,zsh 用~/.zshrc,fish 用~/.config/fish/config.fish
  3. 在文件末尾追加两行,然后source重载配置:
export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH"
source ~/.bashrc # zsh 用户改为 source ~/.zshrc bun --version # 再验证一次

Windows 一条 PowerShell 命令修复 PATH

先用完整路径确认二进制本身没问题:

& "$env:USERPROFILE\.bun\bin\bun" --version

能出版本号但直接敲bun不行,就是 PATH 缺失。在 PowerShell 里执行下面这条,把~\.bun\bin永久加入用户 PATH:

[System.Environment]::SetEnvironmentVariable( "Path", [System.Environment]::GetEnvironmentVariable("Path", "User") + ";$env:USERPROFILE\.bun\bin", [System.EnvironmentVariableTarget]::User )

重启终端后bun --version即可用。

Bun 版本策略:升级、锁定与 Canary

自我升级:安装脚本装出的 Bun 可以直接升级自身,一条命令完成:

bun upgrade

注意:Homebrew / Scoop 用户请分别用brew upgrade bunscoop update bun,避免两个渠道互相覆盖。

锁定特定版本:Bun 是单一二进制,重装时给脚本传版本号即可,适合团队统一版本:

# macOS / Linux curl -fsSL https://bun.com/install | bash -s "bun-v1.3.3" # Windows iex "& {$(irm https://bun.com/install.ps1)} -Version 1.3.3"

尝鲜 Canary 与回退:main 分支每次提交都会产出一个未完整测试的 canary 构建:

bun upgrade --canary # 切到最新 canary bun upgrade --stable # 随时切回稳定版

canary 会自动上传崩溃报告帮助定位问题,因此只建议在开发环境试用,生产环境请用稳定版。

进阶场景:Docker 镜像与 musl 二进制

容器里跑 Bun:官方镜像同时支持 x64 与 arm64,拉下来直接运行:

docker pull oven/bun docker run --rm --init --ulimit memlock=-1:-1 oven/bun

不同基础系统有独立变体,按体积和安全需求选:

docker pull oven/bun:debian # 默认 debian docker pull oven/bun:slim # 精简版 docker pull oven/bun:alpine # musl 基础,极致轻量 docker pull oven/bun:distroless # 极简攻击面

各变体的构建方式可参考仓库内的dockerhub/目录。

musl 架构:Alpine、Void 等没有 glibc 的发行版上,若报GLIBC_... not found,改用官方发布的 musl 版二进制(x64 / arm64 均有),放进任意 PATH 目录即可。正常情况下安装脚本会自动选对二进制,无需手动干预。

硬件与系统下限

  • x64 构建基于 SSE4.2(Nehalem)微架构,运行时自动启用 AVX2/AVX-512 路径,无需挑选 baseline 版本
  • Linux 内核建议 5.6+(最低 3.10 可降级运行),用uname -r查看
  • macOS 要求 13.0 及以上

排障与移除:常见问题和卸载方式

症状原因与解法
command not foundPATH 未包含~/.bun/bin,按「验证与 PATH 配置」一节补上
GLIBC_... not found系统无 glibc,换 musl 版二进制
安装脚本中途失败unzip,执行sudo apt install unzip后重跑
版本反复变化npm 全局与安装脚本装了两份,卸载其一,保留 PATH 中先出现的那个

卸载(按当初的安装方式选一条):

# 脚本安装(macOS / Linux):直接删除安装目录 rm -rf ~/.bun
# 脚本安装(Windows) powershell -c ~\.bun\uninstall.ps1
# npm 安装 npm uninstall -g bun # Homebrew 安装 brew uninstall bun # Scoop 安装 scoop uninstall bun

脚本卸载后记得把之前手动加进 shell 配置的两行 PATH 也一并删掉。

一条命令装好、验证、管版本——Bun 用一个二进制同时顶掉运行时、包管理、测试、打包四件套,装完它,你的下一个项目可以直接从bun开始写起。

【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bun

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4289694.html

相关文章:

  • oMLX 快速上手教程:5 分钟在 Mac 上跑起第一个本地大模型
  • 【c语言】1.3 嵌入式中的位运算
  • 零基础写论文✅靠这一个工具,我全程零求助通关!
  • 如何在电脑上投屏并控制安卓手机:scrcpy 投屏工具完整教程
  • 2023工业峰会电机控制讲座:从PWM到FOC的实战干货笔记
  • LocalSend局域网传输实测:2.5GB压缩包40秒传完,新手三步就能上手
  • Deep-Live-Cam 实时人脸换脸上手指南:3 步出第一个结果
  • 数据管线的运行防线
  • 别只收三个数字:前端 RUM 如何建立可解释的体验数据链
  • DeepSeek V4-Flash发布:1M上下文与284B参数的长文本应用实战
  • 从ROS 2到仿真环境:具身智能机器人开发入门指南
  • 向量检索灰度阶段的验证方法
  • Delphi 13.1 + DevExpress VCL 25.2.7 安装配置与实战避坑指南
  • IAR C-Trust与NXP MCU:固件签名与安全启动实战解析
  • OpenHands 小说生成教程:3 步搭出你的 AI 情节优化助手
  • 从调用到实现:C语言库函数底层原理与安全实践
  • MinerU 文档解析工具上手指南:PDF/Office 转 LLM 可用 Markdown
  • Zed 安装配置实战:从一行命令安装到多人协作
  • STM32F746上基于CubeMX和TouchGFX的GUI移植实战指南
  • AI Chatbox与Dashboard:别用聊天框替换仪表盘
  • 2026 新闻事件 AI 传导分析:一键生成因果树看懂地缘与市场连锁反应
  • 数学建模竞赛:用Matplotlib打造专业图表的高效实战指南
  • Crawl4AI 实战手册:从安装到并发爬取、动态页面与结构化提取的完整路径
  • Dify实战:从部署到API发布,搭建简历筛选Agent工作流
  • 电子商务服装产品分类数据集
  • Hermes Agent 文献检索与论文写作实战指南
  • AI编程与工程实践:从AI Agent到团队效能重构的完整指南
  • 3D打印积木全攻略:FDM公差控制与参数调优实战指南
  • PowerToys文本提取器:3步提取屏幕任意文字
  • 用Nucleo板载ST-LINK V3调试外部STM32芯片全攻略