使用 bun publish
将包发布到 npm 注册表。
bun publish
将自动将你的包打包成 tarball,从 package.json
中剥离工作区协议(如有必要,解析版本),并发布到你的配置文件中指定的注册表。bunfig.toml
和 .npmrc
文件均受支持。
## Publishing the package from the current working directory
bun publish
## Output
bun publish v1.2.5 (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://127.0.0.1:4873/
+ publish-1@1.0.0
或者,你可以使用 bun pm pack
打包你的包,然后使用 bun publish
和输出 tarball 的路径分别打包和发布你的包。
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
--gzip-level
指定打包包时使用的 gzip 压缩级别。仅适用于没有 tarball 路径参数的 bun publish
。值范围从 0
到 9
(默认为 9
)。
CLI 用法
标志
配置
依赖管理
锁定文件管理
安全
安装行为
缓存
日志和输出
注册表
性能
帮助和用法
发布
示例
--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 或自动化工作流程中发布时使用。