Skip to content

bun pm 명령어 그룹은 Bun 의 패키지 관리자와 함께 작업하기 위한 유틸리티 세트를 제공합니다.

pack

현재 워크스페이스의 tarball 을 생성하려면:

bash
bun pm pack

이 명령은 npm pack 과 동일한 규칙을 따라 npm 에 게시될 모든 파일이 포함된 .tgz 파일을 생성합니다.

예시

기본 사용법:

bash
bun pm pack
# 현재 디렉토리에 my-package-1.0.0.tgz 생성

스크립팅을 위한 조용한 모드:

bash
TARBALL=$(bun pm pack --quiet)
echo "생성됨: $TARBALL"
txt
생성됨: my-package-1.0.0.tgz

사용자 정의 대상:

bash
bun pm pack --destination ./dist
# ./dist/ 디렉토리에 tarball 저장

옵션

  • --dry-run: tarball 을 디스크에 쓰는 것을 제외하고 모든 작업 수행. 포함될 내용을 표시합니다.
  • --destination <dir>: tarball 이 저장될 디렉토리 지정.
  • --filename <name>: 저장될 tarball 의 정확한 파일 이름 지정.
  • --ignore-scripts: pre/postpack 및 prepare 스크립트 실행 건너뛰기.
  • --gzip-level <0-9>: 0 에서 9 까지 범위의 사용자 정의 gzip 압축 수준 설정 (기본값은 9).
  • --quiet: tarball 파일 이름만 출력하고 상세 출력 억제. 스크립트 및 자동화에 이상적입니다.

참고: --filename--destination 은 동시에 사용할 수 없습니다.

출력 모드

기본 출력:

bash
bun pm pack
txt
bun pack v1.2.19

packed 131B package.json
packed 40B index.js

my-package-1.0.0.tgz

총 파일: 2
Shasum: f2451d6eb1e818f500a791d9aace80b394258a90
압축 해제된 크기: 171B
압축된 크기: 249B

조용한 출력:

bash
bun pm pack --quiet
txt
my-package-1.0.0.tgz

--quiet 플래그는 추가 처리를 위해 생성된 tarball 파일 이름을 캡처해야 하는 자동화 워크플로우에서 특히 유용합니다.

bin

로컬 프로젝트의 bin 디렉토리 경로를 출력하려면:

bash
bun pm bin
txt
/path/to/current/project/node_modules/.bin

전역 bin 디렉토리 경로를 출력하려면:

bash
bun pm bin -g
txt
<$HOME>/.bun/bin

ls

현재 프로젝트에 설치된 의존성과 해결된 버전을 의존성 제외하고 목록으로 출력합니다.

bash
bun pm ls
# 또는
bun list
txt
/path/to/project node_modules (135)
├── eslint@8.38.0
├── react@18.2.0
├── react-dom@18.2.0
├── typescript@5.0.4
└── zod@3.21.4

설치된 모든 의존성을 nth-order 의존성 포함하여 출력합니다.

bash
bun pm ls --all
# 또는
bun list --all
txt
/path/to/project node_modules (135)
├── @eslint-community/eslint-utils@4.4.0
├── @eslint-community/regexpp@4.5.0
├── @eslint/eslintrc@2.0.2
├── @eslint/js@8.38.0
├── @nodelib/fs.scandir@2.1.5
├── @nodelib/fs.stat@2.0.5
├── @nodelib/fs.walk@1.2.8
├── acorn@8.8.2
├── acorn-jsx@5.3.2
├── ajv@6.12.6
├── ansi-regex@5.0.1
├── ...

whoami

npm 사용자 이름을 출력합니다. bunfig.toml 또는 .npmrc 에 자격 증명이 있는 경우 로그인 (bunx npm login) 되어 있어야 합니다.

bash
bun pm whoami

hash

현재 lockfile 의 해시를 생성하고 출력합니다.

bash
bun pm hash

lockfile 해시에 사용된 문자열을 출력합니다.

bash
bun pm hash-string

현재 lockfile 에 저장된 해시를 출력합니다.

bash
bun pm hash-print

cache

Bun 의 전역 모듈 캐시 경로를 출력합니다.

bash
bun pm cache

Bun 의 전역 모듈 캐시를 지우려면:

bash
bun pm cache rm

migrate

아무것도 설치하지 않고 다른 패키지 관리자의 lockfile 을 마이그레이션하려면:

bash
bun pm migrate

untrusted

스크립트가 있는 현재 신뢰할 수 없는 의존성을 출력합니다.

bash
bun pm untrusted
txt
./node_modules/@biomejs/biome @1.8.3
 » [postinstall]: node scripts/postinstall.js

이 의존성들은 설치 중에 라이프사이클 스크립트가 차단되었습니다.

trust

신뢰할 수 없는 의존성에 대한 스크립트를 실행하고 trustedDependencies 에 추가합니다.

bash
bun pm trust <names>

trust 명령에 대한 옵션:

  • --all: 모든 신뢰할 수 없는 의존성 신뢰.

default-trusted

기본 신뢰된 의존성 목록을 출력합니다.

bash
bun pm default-trusted

GitHub 에서 현재 목록 보기

version

현재 패키지 버전과 도움말을 표시합니다.

bash
bun pm version
txt
bun pm version v1.3.3 (ca7428e9)
현재 패키지 버전: v1.0.0

증가:
  patch      1.0.0 → 1.0.1
  minor      1.0.0 → 1.1.0
  major      1.0.0 → 2.0.0
  prerelease 1.0.0 → 1.0.1-0
  prepatch   1.0.0 → 1.0.1-0
  preminor   1.0.0 → 1.1.0-0
  premajor   1.0.0 → 2.0.0-0
  from-git   최신 git 태그에서 버전 사용
  1.2.3      특정 버전 설정

옵션:
  --no-git-tag-version git 작업 건너뛰기
  --allow-same-version 버전이 동일한 경우 오류 발생 방지
  --message=<val>, -m  사용자 정의 커밋 메시지, 버전 대체에 %s 사용
  --preid=<val>        프리릴리스 식별자 (예: beta → 1.0.1-beta.0)
  --force, -f          더러운 git 기록 확인 우회

예시:
  bun pm version patch
  bun pm version 1.2.3 --no-git-tag-version
  bun pm version prerelease --preid beta --message "Release beta: %s"

package.json 의 버전을 올리려면:

bash
bun pm version patch
txt
v1.0.1

patch, minor, major, premajor, preminor, prepatch, prerelease, from-git 또는 1.2.3 과 같은 특정 버전을 지원합니다. 기본적으로 git 커밋과 태그를 생성하며 --no-git-tag-version 을 사용하면 건너뜁니다.

pkg

get, set, delete 및 fix 작업으로 package.json 데이터를 관리합니다.

모든 명령은 도트 및 대괄호 표기법을 지원합니다.

bash
scripts.build              # 도트 표기법
contributors[0]            # 배열 액세스
workspaces.0               # 도트와 숫자 인덱스
scripts[test:watch]        # 특수 문자용 대괄호

예시:

bash
# get
bun pm pkg get name                               # 단일 속성
bun pm pkg get name version                       # 여러 속성
bun pm pkg get                                    # 전체 package.json
bun pm pkg get scripts.build                      # 중첩 속성

# set
bun pm pkg set name="my-package"                  # 단순 속성
bun pm pkg set scripts.test="jest" version=2.0.0  # 여러 속성
bun pm pkg set {"private":"true"} --json          # --json 플래그와 함께 JSON 값

# delete
bun pm pkg delete description                     # 단일 속성
bun pm pkg delete scripts.test contributors[0]    # 여러/중첩

# fix
bun pm pkg fix                                    # 일반적인 문제 자동 수정

Bun by www.bunjs.com.cn 편집