bun pm 명령어 그룹은 Bun 의 패키지 관리자와 함께 작업하기 위한 유틸리티 세트를 제공합니다.
pack
현재 워크스페이스의 tarball 을 생성하려면:
bun pm pack이 명령은 npm pack 과 동일한 규칙을 따라 npm 에 게시될 모든 파일이 포함된 .tgz 파일을 생성합니다.
예시
기본 사용법:
bun pm pack
# 현재 디렉토리에 my-package-1.0.0.tgz 생성스크립팅을 위한 조용한 모드:
TARBALL=$(bun pm pack --quiet)
echo "생성됨: $TARBALL"생성됨: my-package-1.0.0.tgz사용자 정의 대상:
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은 동시에 사용할 수 없습니다.
출력 모드
기본 출력:
bun pm packbun pack v1.2.19
packed 131B package.json
packed 40B index.js
my-package-1.0.0.tgz
총 파일: 2
Shasum: f2451d6eb1e818f500a791d9aace80b394258a90
압축 해제된 크기: 171B
압축된 크기: 249B조용한 출력:
bun pm pack --quietmy-package-1.0.0.tgz--quiet 플래그는 추가 처리를 위해 생성된 tarball 파일 이름을 캡처해야 하는 자동화 워크플로우에서 특히 유용합니다.
bin
로컬 프로젝트의 bin 디렉토리 경로를 출력하려면:
bun pm bin/path/to/current/project/node_modules/.bin전역 bin 디렉토리 경로를 출력하려면:
bun pm bin -g<$HOME>/.bun/binls
현재 프로젝트에 설치된 의존성과 해결된 버전을 의존성 제외하고 목록으로 출력합니다.
bun pm ls
# 또는
bun list/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 의존성 포함하여 출력합니다.
bun pm ls --all
# 또는
bun list --all/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) 되어 있어야 합니다.
bun pm whoamihash
현재 lockfile 의 해시를 생성하고 출력합니다.
bun pm hashlockfile 해시에 사용된 문자열을 출력합니다.
bun pm hash-string현재 lockfile 에 저장된 해시를 출력합니다.
bun pm hash-printcache
Bun 의 전역 모듈 캐시 경로를 출력합니다.
bun pm cacheBun 의 전역 모듈 캐시를 지우려면:
bun pm cache rmmigrate
아무것도 설치하지 않고 다른 패키지 관리자의 lockfile 을 마이그레이션하려면:
bun pm migrateuntrusted
스크립트가 있는 현재 신뢰할 수 없는 의존성을 출력합니다.
bun pm untrusted./node_modules/@biomejs/biome @1.8.3
» [postinstall]: node scripts/postinstall.js
이 의존성들은 설치 중에 라이프사이클 스크립트가 차단되었습니다.trust
신뢰할 수 없는 의존성에 대한 스크립트를 실행하고 trustedDependencies 에 추가합니다.
bun pm trust <names>trust 명령에 대한 옵션:
--all: 모든 신뢰할 수 없는 의존성 신뢰.
default-trusted
기본 신뢰된 의존성 목록을 출력합니다.
bun pm default-trustedGitHub 에서 현재 목록 보기
version
현재 패키지 버전과 도움말을 표시합니다.
bun pm versionbun 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 의 버전을 올리려면:
bun pm version patchv1.0.1patch, minor, major, premajor, preminor, prepatch, prerelease, from-git 또는 1.2.3 과 같은 특정 버전을 지원합니다. 기본적으로 git 커밋과 태그를 생성하며 --no-git-tag-version 을 사용하면 건너뜁니다.
pkg
get, set, delete 및 fix 작업으로 package.json 데이터를 관리합니다.
모든 명령은 도트 및 대괄호 표기법을 지원합니다.
scripts.build # 도트 표기법
contributors[0] # 배열 액세스
workspaces.0 # 도트와 숫자 인덱스
scripts[test:watch] # 특수 문자용 대괄호예시:
# 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 # 일반적인 문제 자동 수정