import Publish from "/snippets/cli/publish.mdx";
bun publish 는 패키지를 자동으로 tarball 로 패킹하고, package.json 에서 카탈로그 및 워크스페이스 프로토콜을 제거하고 (필요한 경우 버전 해결), 구성 파일에 지정된 레지스트리에 게시합니다. bunfig.toml 과 .npmrc 파일 모두 지원됩니다.
## 현재 작업 디렉토리에서 패키지 게시
bun publishbun publish v1.3.3 (ca7428e9)
packed 203B package.json
packed 224B README.md
packed 30B index.ts
packed 0.64KB tsconfig.json
총 파일: 4
Shasum: 79e2b4377b63f4de38dc7ea6e5e9dbee08311a69
Integrity: sha512-6QSNlDdSwyG/+[...]X6wXHriDWr6fA==
압축 해제된 크기: 1.1KB
압축된 크기: 0.76KB
태그: latest
액세스: default
레지스트리: http://localhost:4873/
+ publish-1@1.0.0또는 bun pm pack 을 사용한 다음 출력 tarball 의 경로와 함께 bun publish 를 실행하여 패키지를 별도로 패킹하고 게시할 수 있습니다.
bun pm pack
...
bun publish ./package.tgzNOTE
tarball 경로가 제공된 경우 `bun publish` 는 라이프사이클 스크립트 (`prepublishOnly/prepack/prepare/postpack/publish/postpublish`) 를 실행하지 않습니다. 스크립트는 `bun publish` 가 패키지를 패킹하는 경우에만 실행됩니다.--access
--access 플래그는 게시되는 패키지의 액세스 수준을 설정하는 데 사용할 수 있습니다. 액세스 수준은 public 또는 restricted 중 하나일 수 있습니다. 스코프 없는 패키지는 항상 public 이며 --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
패키지 버전이 이미 존재하는 경우 1 대신 코드 0 으로 종료합니다. 작업이 재실행될 수 있는 CI/CD 에서 유용합니다.
bun publish --tolerate-republish--gzip-level
패키지를 패킹할 때 사용할 gzip 압축 수준을 지정합니다. tarball 경로 인수가 없는 bun publish 에만 적용됩니다. 값은 0 에서 9 까지입니다 (기본값은 9).
--auth-type
npm 계정에 2FA 가 활성화된 경우 bun publish 는 일회성 비밀번호를 요청합니다. 이는 브라우저 또는 CLI 를 통해 수행할 수 있습니다. --auth-type 플래그는 npm 레지스트리에 선호하는 방법을 알리는 데 사용할 수 있습니다. 가능한 값은 web 과 legacy 이며 기본값은 web 입니다.
bun publish --auth-type legacy
...
이 작업에는 일회성 비밀번호가 필요합니다.
OTP 입력: 123456
...--otp
CLI 에 직접 일회성 비밀번호를 제공합니다. 비밀번호가 유효하면 게시 전에 일회성 비밀번호에 대한 추가 프롬프트를 건너뜁니다. 사용 예시:
bun publish --otp 123456NOTE
`bun publish` 는 github actions 또는 자동화된 워크플로우에서 게시할 때 사용할 수 있는 `NPM_CONFIG_TOKEN` 환경 변수를 존중합니다.