Bun 备忘清单

这是一份 Bun 软件包管理器备忘单,其中列出了 Bun 常用命令使用清单

入门

安装 Bun

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

Bun 与 npm/Yarn 命令比较

npmYarnBun说明
npm installyarn addbun add安装依赖
npm inityarn initbun init创建 package.json 文件
npm install -gyarn global addbun global add全局安装包
npm runyarn runbun run运行脚本
npm uninstallyarn removebun remove移除包
npm updateyarn upgradebun upgrade更新包
npm cache cleanyarn cache cleanbun cache clean清理缓存目录

参考备忘清单: npmyarnpnpm

创建项目

bun create <template> <project-name>

示例:

bun create react my-react-app

查看已安装包

bun ls

安装依赖

bun add <package>

选项:

--dev, -D    # 安装到 devDependencies
--global, -g # 全局安装包
--exact, -E  # 将包安装为精确版本
--tilde, -T  # 安装有相同次要版本的包的最新版本

运行脚本

package.json 中定义脚本:

"scripts": {
  "start": "node index.js",
  "test": "jest"
}

运行脚本:

bun run <script>

例如:

bun run start

移除依赖

bun remove <package>

更新依赖

bun upgrade

选项:

--latest # 更新到最新版本

清理缓存

bun cache clean

安装全局包

bun global add <package>

移除全局包

bun global remove <package>

Bun 提供的其他命令

bun bunfile # 管理 Bunfile
bun dev # 运行开发服务器
bun test # 运行测试
bun completions # 生成 shell 补全脚本

包管理器

bin 目录的路径

要打印本地项目的 bin 目录的路径

bun pm bin
# /path/to/current/pro/node_modules/.bin

全局 bin 目录

bun pm bin -g
# <$HOME>/.bun/bin

打印依赖项

bun pm ls --all
# /path/to/project node_modules (135)
# ├── @eslint-community/eslint-utils@4.4.0
# ├── @eslint-community/regexpp@4.5.0
# ├── @eslint/eslintrc@2.0.2
# ├── @eslint/js@8.38.0
# ├── ...

打印所有已安装的依赖项,包括 n 阶依赖项。

打印已安装及已解决依赖项

bun pm ls
# /path/to/project node_modules (135)
# ├── eslint@8.38.0
# ├── react@18.2.0
# ├── react-dom@18.2.0
# ├── typescript@5.0.4
# └── zod@3.21.4

打印当前项目中已安装依赖项及其已解决版本的列表,不包括其依赖项

全局模块缓存的路径

bun pm cache

要打印 Bun 的全局模块缓存的路径

清除全局模块缓存

bun pm cache rm

列出全局安装

列出所有全局安装的软件包:

bun pm ls -g

列出所有全局安装的软件包,包括 n 阶依赖项:

bun pm ls -g --all

示例

安装包

# 将包添加到 dependencies
$ bun add <package>
# 将包添加到 devDependencies
$ bun add -D <package>
# 将包安装为精确版本
$ bun add -E <package>
# 全局安装包
$ bun global add <package>

移除包

$ bun remove <package>

从所有类型的依赖项中删除包

查看包

# 列出已安装的软件包
$ bun ls

清除缓存

$ bun cache clean

清理缓存目录

运行脚本

$ bun run <script>

package.json 中定义的脚本将被执行