Skip to content

bun publish CLI 用法

bash
bun publish dist

发布选项

--accessstring
--access 标志可用于设置要发布的包的访问级别。访问级别可以是 publicrestricted 之一。非作用域包始终是公开的,尝试使用 --access restricted 发布非作用域包会导致错误。
sh
bun publish --access public

--access 也可以在 package.jsonpublishConfig 字段中设置。

json
{
  "publishConfig": {
    "access": "restricted"
  }
}
--tagstring default: latest
设置要发布的包版本的标签。默认情况下,标签为 latest。包的初始版本始终会被赋予 latest 标签以及指定的标签。
sh
bun publish --tag alpha

--tag 也可以在 package.jsonpublishConfig 字段中设置。

json
{
  "publishConfig": {
    "tag": "next"
  }
}
--dry-run=<val>string
--dry-run 标志可用于模拟发布过程而不实际发布包。这对于验证已发布包的内容而不实际发布包非常有用。
sh
bun publish --dry-run
--gzip-levelstring default: 9
指定打包包时使用的 gzip 压缩级别。仅适用于不带 tarball 路径参数的 bun publish。值范围为 09(默认为 9)。
--auth-typestring default: web

如果您的 npm 账户启用了 2FA,bun publish 将提示您输入一次性密码。这可以通过浏览器或 CLI 完成。--auth-type 标志可用于告诉 npm 注册表您首选的方法。可能的值为 weblegacy,默认为 web

sh
bun publish --auth-type legacy
...
此操作需要一次性密码。
输入 OTP: 123456
...
--otpstring default: web

直接向 CLI 提供一次性密码。如果密码有效,这将在发布前跳过额外的一次性密码提示。使用示例:

sh
bun publish --otp 123456

NOTE

bun publish 尊重 NPM_CONFIG_TOKEN 环境变量,该变量可在 GitHub Actions 或自动化工作流中发布时使用。

注册表配置

自定义注册表

--registrystring
指定注册表 URL,覆盖 .npmrc 和 bunfig.toml
bash
bun publish --registry https://my-private-registry.com

SSL 证书

--castring
提供证书颁发机构签名证书
--cafilestring
证书颁发机构证书文件路径
bash
bun publish --ca "-----BEGIN CERTIFICATE-----..."
bash
bun publish --cafile ./ca-cert.pem

发布选项

依赖管理

-p, --productionboolean
不安装开发依赖
--omitstring
排除依赖类型:devoptionalpeer
-f, --forceboolean
始终从注册表请求最新版本并重新安装所有依赖

脚本控制

--ignore-scriptsboolean
打包和发布期间跳过生命周期脚本
--trustboolean
将包添加到 trustedDependencies 并运行其脚本

NOTE

**生命周期脚本** — 提供预构建的 tarball 时,不会执行生命周期脚本(prepublishOnly、prepack 等)。只有当 Bun 自己打包包时才会运行脚本。

文件管理

--no-saveboolean
不更新 package.json 或锁文件
--frozen-lockfileboolean
不允许更改锁文件
--yarnboolean
生成 yarn.lock 文件(yarn v1 兼容)

性能

--backendstring
平台优化:clonefile(默认)、hardlinksymlinkcopyfile
--network-concurrencynumber default: 48
最大并发网络请求数
--concurrent-scriptsnumber default: 5
最大并发生命周期脚本数

输出控制

--silentboolean
抑制所有输出
--verboseboolean
显示详细日志
--no-progressboolean
隐藏进度条
--no-summaryboolean
不打印发布摘要