ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

bun install:如何快30倍安装依赖?Bun包管理器完全指南(Workspaces、Lockfile与安全审计)

bun install:如何快30倍安装依赖?Bun包管理器完全指南(Workspaces、Lockfile与安全审计) bun install如何快30倍安装依赖Bun包管理器完全指南Workspaces、Lockfile与安全审计【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bunbun install是 Bun 内置的包管理器命令官方基准测试显示它比npm install快最高 30 倍——在任意 Node.js 项目中只要有package.json就可以直接用它替代 npm、yarn 或 pnpm 安装依赖。这篇指南面向新手用最少代码讲清楚三件核心事Workspaces 单体仓库管理、bun.lock 锁文件最佳实践、以及 bun audit 安全审计帮你把依赖安装从等十分钟变成等三秒。三步上手bun install 快速安装教程不需要卸载 npmbun install 是 Node.js 项目的直接平替bun install react # 安装指定包 bun install react19.1.1 # 安装指定版本 bun install # 安装 package.json 中全部依赖一条命令会做三件事见 docs/pm/cli/install.mdx安装dependencies、devDependencies、optionalDependencies并默认自动装peerDependenciesnpm 7 以前最容易踩的坑运行你项目的preinstall/postinstall脚本但出于安全考虑不会运行第三方依赖的任意生命周期脚本写入bun.lock锁文件到项目根目录。生产环境部署时用bun install --production只装生产依赖、跳过 devDependencies。为什么快30倍三大核心秘密官方文档给出数据Bun 安装一个大型 monorepoRemix 项目在 Linux 上约500ms比npm install快 28 倍、比yarn快 12 倍、比pnpm快 8 倍见 docs/pm/workspaces.mdx。快的原因并不神秘全局缓存 零拷贝。所有 npm 包缓存到~/.bun/install/cache/多个项目复用同一个包时不重复下载平台最优后端。macOS 用clonefile、Linux/Windows 用hardlink硬链接直接把缓存文件链接进node_modules而非逐字节复制详见 docs/pm/cli/install.mdx并行原生实现。安装核心用 Rust 编写并高度并行化tarball 解压、依赖解析同时进行。想强制指定后端bun install --backend hardlink。Workspaces 完整指南Monorepo 依赖管理bun install 完整支持package.json的workspaces字段文档docs/pm/workspaces.mdx。典型单体仓库结构root ├── bun.lock ├── package.json # workspaces: [packages/*] └── packages ├── pkg-a/ └── pkg-b/ # 依赖 pkg-a用 workspace:* 声明Workspaces 三大好处本地互引不下载b依赖a时Bun 直接把本地packages/a链进node_modules自动去重提升hoisting多个 workspace 共享的依赖提升到根node_modules省磁盘、避免依赖地狱--filter精准安装只给部分包装依赖或并行跑多包脚本。# 安装除 pkg-c 外的所有 workspace 依赖 bun install --filter !pkg-c # 按目录筛选 bun install --filter ./packages/pkg-a # 一个命令并行启动 api 和 frontend 的 dev 脚本 bun --filter * dev--filter还支持依赖关系语法如bun --filter web... build会按依赖顺序构建 web 及其依赖的所有包完整规则见 docs/pm/filter.mdx。bun.lock 锁文件可复现安装最佳实践要不要提交 bun.lock——要。锁文件保证团队和 CI 装到完全相同的版本。几个实用技巧文档docs/pm/lockfile.mdx场景命令说明只生成锁文件不安装bun install --lockfile-only快速校验依赖树CI 可复现安装bun ci等价--frozen-lockfilepackage.json与锁文件不一致时直接报错离线/弱网环境bun install --offline只用全局缓存不联网验证锁文件不安装bun install --frozen-lockfile --dry-run上线前体检迁移也几乎是零成本Bun 检测到没有bun.lock时会自动迁移package-lock.json、yarn.lock、pnpm-lock.yamlpnpm 的pnpm-workspace.yaml中 catalog 配置一并迁移原锁文件保留不动验证后再手动删除即可。安全审计bun audit 一键排查漏洞bun install 的安全设计有两层。第一层默认拦截危险脚本。第三方依赖的postinstall等生命周期脚本默认不执行——这是供应链攻击最常见的入口。确需放行的包加入package.json的trustedDependencies白名单或用bun pm trust 包名一键信任。第二层漏洞审计。在项目根目录运行文档docs/pm/cli/audit.mdxbun audit # 读取 bun.lock 检查已知漏洞无需 node_modules bun audit --audit-levelhigh # 只看 high 及以上 bun audit --prod # 只查生产依赖 bun audit fix # 自动升级到安全版本并重新安装bun audit fix会输出修复报告能修复的自动升级、被上游版本范围卡住的会明确告诉你被谁的哪个依赖范围挡住了建议用--latest或overrides处理。进阶防护在bunfig.toml里配置minimumReleaseAge例如 259200 秒 3 天拒绝安装刚发布的包专治恶意包抢注窗口期攻击。常用辅助命令速查表日常还会用到这些bun pm工具文档docs/pm/cli/pm.mdxbun pm ls --all列出所有已安装依赖含传递依赖bun why 包名查清到底是谁引入了这个包bun pm licenses按 MIT/Apache 等许可证分组列出依赖bun pm cache rm清空全局包缓存bun pm diff react对比当前锁定版本与最新版到底改了什么。总结bun install 新手记忆清单✅ 有package.json就能用bun install直替 npm快最高 30 倍 ✅ Monorepo 用workspaces--filter精准安装 ✅bun.lock提交进版本库CI 用bun ci保证可复现 ✅ 安全靠默认不跑依赖脚本 bun audit审计 最小发布年龄三道防线从等待十分钟到等待三秒bun install 值得成为你依赖安装的默认选项。【免费下载链接】bunIncredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one项目地址: https://gitcode.com/GitHub_Trending/bu/bun创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表