news 2026/8/29 14:02:07

Bun 私有包管理上手:一份 bunfig.toml 配好私有源,安装不再 401

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Bun 私有包管理上手:一份 bunfig.toml 配好私有源,安装不再 401

Bun 私有包管理上手:一份 bunfig.toml 配好私有源,安装不再 401

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

用 Bun 做私有包管理,核心就是搞清楚一件事:bunfig.toml里哪个配置项决定"这个包从哪个仓库下载、用什么凭证"。这篇文章按"配源 → 配认证 → 验证 → 排坑"的顺序,把私有源从配置到跑通的全过程讲一遍,最后给两条可以直接照做的收尾动作。

在 bunfig.toml 里声明私有源

Bun 的注册表配置全部写在[install]表下。registry设默认源,[install.scopes]按作用域精确覆盖——带@myorg前缀的包走内网源,其余包继续走 npmjs 默认源。

[install] registry = "https://registry.npmjs.org" [install.scopes] myorg = { url = "https://registry.myorg.com/", token = "$npm_token" }

配置后运行bun add @myorg/utils,Bun 会只把该作用域的包路由到内网源,其他依赖来源不受影响。

给私有源配认证,别把令牌写死

token 可以直接写在 bunfig.toml 里,但更稳妥的是引用环境变量($变量名写法)。这样 CI 上只需要注入一个 secret,仓库里不出现任何敏感字符串;.npmrc里的//主机/:_authToken凭证 Bun 也认,老项目迁移不用改两份配置。

装一遍验证配置真的生效

先跑bun install --dry-run,只解析不落盘,日志里能看到每个包最终命中的源;确认无误再正式安装,私有包应显示来自内网地址。

bun install --dry-run

成功时输出类似@myorg/utils@1.0.0 → https://registry.myorg.com/。如果直接 401,九成是 token 过期,或作用域名写成了带@的键名。

这些坑踩之前先知道

  • 🚫registry必须写在[install]表下,写进[bun]不会生效;
  • token 用$npm_token注入,别把真实值提交进仓库;
  • Bun 默认禁止依赖跑生命周期脚本。装完跑一下bun pm untrusted列出被拦下的包,确认来源后用bun pm trust <包名>加入package.jsontrustedDependencies
  • monorepo 里多个包依赖同一库的不同版本时,用package.jsonoverrides统一钉住版本;
  • 内网/离线场景:bun pm cache查看缓存目录,缓存补齐后bun install --offline可以完全断网安装,缺依赖时会直接报错而不是卡住。

收尾:今天就能改的两件事

  1. 把团队项目里的 bunfig.toml 按上面格式改好,token 一律走环境变量;
  2. 装完依赖跑一遍bun pm untrustedbun pm trust,确认脚本信任名单;CI 里加--frozen-lockfile --prefer-offline,让每次安装可复现且不依赖外网。

具体字段和更多安装选项,可参考仓库内的 bunfig 配置说明、bun install 文档 和 bun pm 子命令。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 13:59:41

MinerU 文档解析故障排查手册:12 个高频常见问题一次讲清

MinerU 文档解析故障排查手册&#xff1a;12 个高频常见问题一次讲清 【免费下载链接】MinerU Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows. 项目地址: https://gitcode.com/GitHub_Trending/mi/Miner…

作者头像 李华
网站建设 2026/8/29 13:57:46

Android Studio项目源码zip解压、Gradle导入与EOCD修复实战指南

简介&#xff1a;在Android开发中&#xff0c;拿到一份包含数十个源码项目的压缩包&#xff0c;如何处理才能高效化为己用&#xff1f;下载的zip可能因传输中断或文件损坏而报错&#xff0c;构建时又会面临Gradle版本与AGP不匹配、依赖仓库失效等常见问题。想要稳定导入工程&am…

作者头像 李华
网站建设 2026/8/29 13:56:28

研发工程师校招笔试全解析:从网易真题看算法与基础考察

考研季又到了&#xff0c;朋友圈里陆续有人晒出各种互联网公司的笔试邀请。我翻出自己当年存下的一份“网易2018校园招聘研发工程师(有道)笔试卷”&#xff0c;重新看了一遍&#xff0c;发现这套题即使放到现在&#xff0c;依然是检验研发工程师基本功的好材料。网易有道的研发…

作者头像 李华
网站建设 2026/8/29 13:53:43

lazygit 快速上手指南:8 个 Git 高频操作如何在一块终端屏里完成

lazygit 快速上手指南&#xff1a;8 个 Git 高频操作如何在一块终端屏里完成 【免费下载链接】lazygit simple terminal UI for git commands 项目地址: https://gitcode.com/GitHub_Trending/la/lazygit lazygit 是一个运行在终端里的 Git 图形界面工具。本文带你从安装…

作者头像 李华
网站建设 2026/8/29 13:51:02

登录日志与管理员审计日志存储决策

登录日志与管理员审计日志存储决策日期&#xff1a;2026-08-26 上下文&#xff1a;mybilibili 项目架构讨论 目标环境&#xff1a;k3s 轻量部署 弱设备&#xff08;盒子/老电脑&#xff09; 不深入复杂运维1. 背景与问题 项目需要支持&#xff1a; 用户个人中心查看自己的登录…

作者头像 李华