Bun 运行时安装指南:比 Node.js 更快的 JavaScript 工具链

概述

你写 TypeScript 项目时,有没有被 npm 装依赖慢到想摔键盘?一个大型项目 install 半小时是常态。

Bun 是近年冒出来的 JavaScript 运行时,主打一个快。它把 Node.js、npm、TypeScript 编译器打包成一体。装依赖用它的包管理器,比 npm 快 20-50 倍。写 TypeScript 不用转译,直接 run。

这篇教程带你从零装好 Bun,配好国内镜像,跑通第一个项目。

准备工作

  • 一台能正常联网的 Linux VPS 或本地 Linux 机器
  • Ubuntu 20.04+ / Debian 11+ / CentOS 8+ 均可
  • root 权限或 sudo 权限
  • 磁盘剩余空间 500MB 以上

步骤

第一步:一键安装 Bun

Bun 官方提供了脚本,一行搞定:

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

安装脚本会做这几件事:下载最新稳定版 bun 二进制、放入 /root/.bun/bin、在 ~/.bashrc 写入 PATH 配置。

装完后让环境变量立即生效:

source ~/.bashrc

第二步:验证安装

bun --version

正常输出类似 1.2.15。同时确认 bunx 可用:

bunx --version

bunx 是 Bun 的 npx 替代品,用来运行一次性工具,比如跑一个临时脚本。

第三步:初始化一个项目

进到你想放项目的目录,初始化:

mkdir my-bun-app && cd my-bun-app
bun init

bun init 会交互式问你几个问题(项目名称、是否用 TypeScript 等),一路回车用默认值也行。完成后会生成 package.json 和 bun.lockb。

顺手验证一下 TypeScript 能直接跑:

echo 'console.log("hello bun")' > index.ts
bun run index.ts

终端输出 hello bun,说明一切正常。注意:这里不需要 ts-node,bun 原生支持。

第四步:替换国内镜像(可选)

Bun 的官方包 registry 在国内访问不稳定,换到淘宝镜像:

echo '{"registry":"https://registry.npmmirror.com"}' > .bunfig.toml

这样 bun install 和 bun add 都会走淘宝源,速度起飞。

你也可以在任意位置放 bunfig.toml,Bun 会从当前目录向上递归读取。

第五步:常用命令速查

# 安装所有依赖(等价于 npm install)
bun install

# 加一个依赖
bun add lodash

# 加一个开发依赖
bun add -d typescript

# 跑脚本(package.json 里定义的)
bun run dev
bun run build

# 直接跑一个 TS 文件
bun run index.ts

# 用 bunx 跑临时工具
bunx create-react-app my-app

# 查看已安装的包
bun pm ls

# 查看 lock 文件
cat bun.lockb | head -5

bun run 可以直接跑 TS、JS、JSON 文件,不需要额外配置。

第六步:加入开机自启服务(可选)

如果你想让 Bun 应用作为服务常驻,用 systemd 管理:

cat <<EOF | sudo tee /etc/systemd/system/bun-app.service
[Unit]
Description=Bun Application
After=network.target

[Service]
Type=simple
User=$(whoami)
WorkingDirectory=/home/$USER/my-bun-app
ExecStart=/root/.bun/bin/bun run /home/$USER/my-bun-app/index.ts
Restart=on-failure
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable bun-app
sudo systemctl start bun-app

用 systemctl status bun-app 查看运行状态。

验证

全部搞完后跑这几个检查:

# 1. 版本确认
bun --version

# 2. 包管理器是否正常
bun pm ls

# 3. 镜像配置是否生效
cat .bunfig.toml

# 4. TypeScript 直接运行
bun run index.ts

四项都通过,Bun 环境就彻底配好了。

常见问题

提示"bun: command not found"?

环境变量没加载。直接执行一次 source:

source ~/.bashrc

如果还不行,手动加 PATH:

echo 'export PATH="$HOME/.bun/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

安装脚本卡在下载不动?

网络问题。先把镜像换成国内源再试:

# 手动下载 bun 二进制
curl -fsSL https://registry.npmmirror.com/-/binary/bun/v1.2.15/bun-linux-x64 -o bun
chmod +x bun
sudo mv bun /usr/local/bin/bun

和 Node.js 能共存吗?

可以。Bun 和 Node.js 互不干扰,各装各的。用 node --version 和 bun --version 分别确认就行。

bun.lockb 和 package-lock.json 能混用吗?

不能混用。Bun 用 bun.lockb,npm 用 package-lock.json,yarn 用 yarn.lock。切换包管理器时记得删掉旧的 lock 文件,避免混乱。

这篇文章对你有帮助吗?