import Add from "/snippets/cli/add.mdx";
특정 패키지를 추가하려면:
bun add preact버전, 버전 범위 또는 태그를 지정하려면:
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest--dev
NOTE
**별칭** — `--development`, `-d`, `-D`패키지를 개발 의존성 ("devDependencies") 으로 추가하려면:
bun add --dev @types/react
bun add -d @types/react--optional
패키지를 선택적 의존성 ("optionalDependencies") 으로 추가하려면:
bun add --optional lodash--peer
패키지를 피어 의존성 ("peerDependencies") 으로 추가하려면:
bun add --peer @types/bun--exact
NOTE
**별칭** — `-E`패키지를 추가하고 해결된 버전으로 고정하려면 --exact 를 사용합니다. 이는 패키지의 버전을 해결하고 버전 범위 대신 정확한 버전 번호로 package.json 에 추가합니다.
bun add react --exact
bun add react -E이것은 package.json 에 다음을 추가합니다.
{
"dependencies": {
// --exact 없이
"react": "^18.2.0", // 이는 >= 18.2.0 < 19.0.0 과 일치
// --exact 사용 시
"react": "18.2.0" // 이는 정확히 18.2.0 만 일치
}
}이 명령에 대한 전체 옵션 목록을 보려면:
bun add --help--global
NOTE
**참고** — 이는 현재 프로젝트 폴더의 package.json 을 수정하지 않습니다. **별칭** - `bun add --global`, `bun add -g`, `bun install --global` 및 `bun install -g`패키지를 전역으로 설치하려면 -g/--global 플래그를 사용합니다. 이는 현재 프로젝트의 package.json 을 수정하지 않습니다. 일반적으로 명령줄 도구 설치에 사용됩니다.
bun add --global cowsay # 또는 `bun add -g cowsay`
cowsay "Bun!" ______
< Bun! >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||전역 설치 동작 구성
[install]
# `bun add --global` 이 패키지를 설치하는 위치
globalDir = "~/.bun/install/global"
# 전역으로 설치된 패키지 바이너리가 링크되는 위치
globalBinDir = "~/.bun/bin"신뢰할 수 있는 의존성
다른 npm 클라이언트와 달리 Bun 은 설치된 의존성의 postinstall 과 같은 임의의 라이프사이클 스크립트를 실행하지 않습니다. 이러한 스크립트는 머신에서 임의의 코드를 실행할 수 있으므로 잠재적인 보안 위험을 나타냅니다.
특정 패키지에 대해 라이프사이클 스크립트를 허용하도록 Bun 에 알려려면 package.json 에서 패키지를 trustedDependencies 에 추가합니다.
{
"name": "my-app",
"version": "1.0.0",
"trustedDependencies": ["my-trusted-package"]
}Bun 은 이 필드를 읽고 my-trusted-package 에 대한 라이프사이클 스크립트를 실행합니다.
Git 의존성
공개 또는 비공개 git 저장소에서 의존성을 추가하려면:
bun add git@github.com:moment/moment.gitNOTE
비공개 저장소를 설치하려면 시스템에 저장소에 액세스하기 위한 적절한 SSH 자격 증명이 필요합니다.Bun 은 github, git, git+ssh, git+https 등 다양한 프로토콜을 지원합니다.
{
"dependencies": {
"dayjs": "git+https://github.com/iamkun/dayjs.git",
"lodash": "git+ssh://github.com/lodash/lodash.git#4.17.21",
"moment": "git@github.com:moment/moment.git",
"zod": "github:colinhacks/zod"
}
}Tarball 의존성
패키지 이름은 공개적으로 호스팅된 .tgz 파일과 일치할 수 있습니다. 설치하는 동안 Bun 은 패키지 레지스트리가 아닌 지정된 tarball URL 에서 패키지를 다운로드하여 설치합니다.
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgz이것은 package.json 에 다음 줄을 추가합니다.
{
"dependencies": {
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
}
}