Skip to content

import Add from "/snippets/cli/add.mdx";

특정 패키지를 추가하려면:

bash
bun add preact

버전, 버전 범위 또는 태그를 지정하려면:

bash
bun add zod@3.20.0
bun add zod@^3.0.0
bun add zod@latest

--dev

NOTE

**별칭** — `--development`, `-d`, `-D`

패키지를 개발 의존성 ("devDependencies") 으로 추가하려면:

bash
bun add --dev @types/react
bun add -d @types/react

--optional

패키지를 선택적 의존성 ("optionalDependencies") 으로 추가하려면:

bash
bun add --optional lodash

--peer

패키지를 피어 의존성 ("peerDependencies") 으로 추가하려면:

bash
bun add --peer @types/bun

--exact

NOTE

**별칭** — `-E`

패키지를 추가하고 해결된 버전으로 고정하려면 --exact 를 사용합니다. 이는 패키지의 버전을 해결하고 버전 범위 대신 정확한 버전 번호로 package.json 에 추가합니다.

bash
bun add react --exact
bun add react -E

이것은 package.json 에 다음을 추가합니다.

json
{
  "dependencies": {
    // --exact 없이
    "react": "^18.2.0", // 이는 >= 18.2.0 < 19.0.0 과 일치

    // --exact 사용 시
    "react": "18.2.0" // 이는 정확히 18.2.0 만 일치
  }
}

이 명령에 대한 전체 옵션 목록을 보려면:

bash
bun add --help

--global

NOTE

**참고** — 이는 현재 프로젝트 폴더의 package.json 을 수정하지 않습니다. **별칭** - `bun add --global`, `bun add -g`, `bun install --global` 및 `bun install -g`

패키지를 전역으로 설치하려면 -g/--global 플래그를 사용합니다. 이는 현재 프로젝트의 package.json 을 수정하지 않습니다. 일반적으로 명령줄 도구 설치에 사용됩니다.

bash
bun add --global cowsay # 또는 `bun add -g cowsay`
cowsay "Bun!"
txt
 ______
< Bun! >
 ------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

전역 설치 동작 구성

toml
[install]
# `bun add --global` 이 패키지를 설치하는 위치
globalDir = "~/.bun/install/global"

# 전역으로 설치된 패키지 바이너리가 링크되는 위치
globalBinDir = "~/.bun/bin"

신뢰할 수 있는 의존성

다른 npm 클라이언트와 달리 Bun 은 설치된 의존성의 postinstall 과 같은 임의의 라이프사이클 스크립트를 실행하지 않습니다. 이러한 스크립트는 머신에서 임의의 코드를 실행할 수 있으므로 잠재적인 보안 위험을 나타냅니다.

특정 패키지에 대해 라이프사이클 스크립트를 허용하도록 Bun 에 알려려면 package.json 에서 패키지를 trustedDependencies 에 추가합니다.

json
{
  "name": "my-app",
  "version": "1.0.0",
  "trustedDependencies": ["my-trusted-package"] 
}

Bun 은 이 필드를 읽고 my-trusted-package 에 대한 라이프사이클 스크립트를 실행합니다.

Git 의존성

공개 또는 비공개 git 저장소에서 의존성을 추가하려면:

bash
bun add git@github.com:moment/moment.git

NOTE

비공개 저장소를 설치하려면 시스템에 저장소에 액세스하기 위한 적절한 SSH 자격 증명이 필요합니다.

Bun 은 github, git, git+ssh, git+https 등 다양한 프로토콜을 지원합니다.

json
{
  "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 에서 패키지를 다운로드하여 설치합니다.

sh
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgz

이것은 package.json 에 다음 줄을 추가합니다.

json
{
  "dependencies": {
    "zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
  }
}

Bun by www.bunjs.com.cn 편집