使用 bun publish 将包发布到 npm 注册表。
bun publish 将自动将您的包打包成 tarball,从 package.json 中剥离 catalog 和 workspace 协议(并在必要时解析版本),然后发布到您的配置文件中指定的注册表。bunfig.toml 和 .npmrc 文件都支持。
## Publishing the package from the current working directorybun publish
## Output
bun publish v1.3.0 (ca7428e9)
packed 203B package.json
packed 224B README.md
packed 30B index.ts
packed 0.64KB tsconfig.json
Total files: 4
Shasum: 79e2b4377b63f4de38dc7ea6e5e9dbee08311a69
Integrity: sha512-6QSNlDdSwyG/+[...]X6wXHriDWr6fA==
Unpacked size: 1.1KB
Packed size: 0.76KB
Tag: latest
Access: default
Registry: https://:4873/
+ publish-1@1.0.0或者,您可以通过使用 bun pm pack,然后使用指向输出 tarball 的路径和 bun publish 来单独打包和发布您的包。
bun pm pack...bun publish ./package.tgz注意 - 如果提供了 tarball 路径,bun publish 将不会运行生命周期脚本(prepublishOnly/prepack/prepare/postpack/publish/postpublish)。脚本仅在包由 bun publish 打包时运行。
--access
--access 标志可用于设置正在发布的包的访问级别。访问级别可以是 public 或 restricted。未作用域的包始终是公开的,尝试使用 --access restricted 发布未作用域的包将导致错误。
bun publish --access public--access 也可以在 package.json 的 publishConfig 字段中设置。
{
"publishConfig": {
"access": "restricted"
}
}
--tag
设置正在发布的包版本的标签。默认标签是 latest。包的初始版本将始终获得 latest 标签以及指定的标签。
bun publish --tag alpha--tag 也可以在 package.json 的 publishConfig 字段中设置。
{
"publishConfig": {
"tag": "next"
}
}
--dry-run
--dry-run 标志可用于模拟发布过程,而无需实际发布包。这对于在实际发布包之前验证已发布包的内容非常有用。
bun publish --dry-run--tolerate-republish
如果包版本已存在,则以退出码 0 而不是 1 退出。在 CI/CD 中,当作业可能被重新运行时非常有用。
bun publish --tolerate-republish--gzip-level
指定打包包时使用的 gzip 压缩级别。仅适用于没有 tarball 路径参数的 bun publish。值范围从 0 到 9(默认为 9)。
CLI 用法
Flags
发布选项
身份验证和安全
注册表和网络
依赖管理
Lockfile 管理
Caching
Output & Logging
通用和执行控制
帮助
Examples
--auth-type
如果您的 npm 账户启用了 2FA,bun publish 会提示您输入一次性密码。这可以通过浏览器或 CLI 完成。--auth-type 标志可用于告诉 npm 注册表您偏好的方法。可能的值是 web 和 legacy,其中 web 是默认值。
bun publish --auth-type legacy...
This operation requires a one-time password.
Enter OTP: 123456
...--otp
直接向 CLI 提供一次性密码。如果密码有效,这将跳过发布前输入一次性密码的额外提示。示例用法
bun publish --otp 123456注意 - bun publish 尊重 NPM_CONFIG_TOKEN 环境变量,该变量可在 GitHub Actions 或自动化工作流中用于发布。