Skip to main content
bun install 是一个快速且兼容 Node.js 的 npm 客户端。 要从 npm install 迁移到 bun install,请改用 bun install,不要再使用 npm install
  • 为 Node.js 和 Bun 设计bun install 会安装一个兼容 Node.js 的 node_modules 文件夹。你可以在 Node.js 项目中直接替代 npm install 使用,无需修改任何代码,也无需使用 Bun 的运行时。
  • 自动将 package-lock.json 转换为 Bun 的 bun.lock 锁文件格式,并保留现有已解析的依赖版本。你可以在工作中悄悄使用 bun install 替代 npm install,而不会被任何人察觉。
  • 兼容 .npmrcbun install 会从 npm 的 .npmrc 中读取 npm registry 配置,因此 npm 和 Bun 可以使用相同的配置。
  • 硬链接:在 Windows 和 Linux 上,bun install 使用硬链接来节省磁盘空间并加快安装速度。
terminal

更快地运行 package.json 脚本

使用单个命令运行 package.json 中的脚本、node_modules/.bin 中的可执行文件(如 npx),以及 JavaScript/TypeScript 文件(如 node)。 bun run <executable> 使用本地安装的可执行文件。
terminal

支持工作区(Workspaces)

bun install 支持类似 npm 的工作区功能,并且提供更多特性。 package.json 中,将 "workspaces" 设置为相对路径数组。
package.json

按工作区名称筛选脚本

在 Bun 中,--filter 标志接受一个 glob 模式,并按照依赖顺序,为每个名称与其匹配的工作区包并发运行命令。
terminal

更新依赖

bun update <package> 将依赖更新到满足 package.json 中 semver 范围的最新版本。
terminal

查看过期依赖

要查看过期依赖,请运行 bun outdated。它的工作方式类似于 npm outdated,但输出更加紧凑。
terminal

列出已安装的包

bun pm ls 列出 node_modules 文件夹中安装的软件包,并使用 Bun 的锁文件作为真实来源。传递 -a 标志还可以列出传递依赖项。
terminal
terminal

创建包的压缩包

bun pm pack 会在当前目录中创建包的 tarball。
terminal

Shebang

如果软件包在 #!/usr/bin/env node shebang 中引用了 nodebun run 默认会遵循该设置并使用系统的 node 可执行文件。若要强制使用 Bun,请将 --bun 传递给 bun run 传递 --bun 时,Bun 会在临时目录中创建一个名为 "node"、指向本地安装的 Bun 可执行文件的符号链接,并在脚本运行期间将其添加到 PATH 中。
terminal

全局安装

使用 bun i -g <package> 全局安装软件包。默认情况下,它们会安装到主目录下的 .bun/install/global/node_modules 文件夹中。
terminal