Docs
시작하기
설치

Gemini CLI 설치, 실행 및 배포

Gemini CLI를 설치하고 실행하세요. 이 문서는 Gemini CLI의 설치 방법과 배포 아키텍처에 대한 개요를 제공합니다.

Gemini CLI 설치 및/또는 실행 방법

Gemini CLI를 실행하는 방법에는 여러 가지가 있습니다. 권장되는 옵션은 Gemini CLI를 어떻게 사용할 계획인지에 따라 다릅니다.

  • 표준 설치로 실행. 이것은 Gemini CLI를 사용하는 가장 간단한 방법입니다.
  • 샌드박스에서 실행. 이 방법은 향상된 보안과 격리를 제공합니다.
  • 소스에서 실행. 이 방법은 프로젝트 기여자가 사용하는 것이 좋습니다.

1. 표준 설치 (일반 사용자에게 권장)

이는 일반 사용자가 Gemini CLI를 설치하는 데 권장되는 방법입니다. NPM 레지스트리에서 Gemini CLI 패키지를 다운로드하는 과정이 포함됩니다.

  • 전역 설치:

    npm install -g @google/gemini-cli

    그런 다음 어디서나 CLI를 실행하세요.

    gemini
  • NPX 실행:

    # 전역 설치 없이 NPM에서 최신 버전 실행
    npx @google/gemini-cli

2. 샌드박스에서 실행 (Docker/Podman)

보안과 격리를 위해 Gemini CLI를 컨테이너 내부에서 실행할 수 있습니다. 이는 CLI가 부작용이 있을 수 있는 도구를 실행하는 기본 방법입니다.

  • 레지스트리에서 직접 실행: 게시된 샌드박스 이미지를 직접 실행할 수 있습니다. 이는 Docker만 있고 CLI를 실행하려는 환경에 유용합니다.
    # 게시된 샌드박스 이미지 실행
    docker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.1
  • --sandbox 플래그 사용: Gemini CLI를 로컬에 설치한 경우(위에서 설명한 표준 설치 사용), 샌드박스 컨테이너 내부에서 실행하도록 지시할 수 있습니다.
    gemini --sandbox -y -p "your prompt here"

3. 소스에서 실행 (Gemini CLI 기여자에게 권장)

프로젝트 기여자는 소스 코드에서 직접 CLI를 실행하고 싶을 것입니다.

  • 개발 모드: 이 방법은 핫 리로딩을 제공하며 활발한 개발에 유용합니다.

    # 리포지토리 루트에서
    npm run start
  • 프로덕션 유사 모드 (연결된 패키지): 이 방법은 로컬 패키지를 연결하여 전역 설치를 시뮬레이션합니다. 프로덕션 워크플로에서 로컬 빌드를 테스트하는 데 유용합니다.

    # 로컬 cli 패키지를 전역 node_modules에 연결
    npm link packages/cli
     
    # 이제 `gemini` 명령을 사용하여 로컬 버전을 실행할 수 있습니다
    gemini

4. GitHub에서 최신 Gemini CLI 커밋 실행

GitHub 리포지토리에서 직접 가장 최근에 커밋된 Gemini CLI 버전을 실행할 수 있습니다. 이는 개발 중인 기능을 테스트하는 데 유용합니다.

# GitHub의 main 브랜치에서 직접 CLI 실행
npx https://github.com/google-gemini/gemini-cli

배포 아키텍처

위에서 설명한 실행 방법은 다음 아키텍처 구성 요소 및 프로세스에 의해 가능합니다.

NPM 패키지

Gemini CLI 프로젝트는 두 개의 핵심 패키지를 NPM 레지스트리에 게시하는 모노레포입니다.

  • @google/gemini-cli-core: 로직 및 도구 실행을 처리하는 백엔드입니다.
  • @google/gemini-cli: 사용자 대면 프론트엔드입니다.

이러한 패키지는 표준 설치를 수행할 때와 소스에서 Gemini CLI를 실행할 때 사용됩니다.

빌드 및 패키징 프로세스

배포 채널에 따라 사용되는 두 가지 별도의 빌드 프로세스가 있습니다.

  • NPM 게시: NPM 레지스트리에 게시하기 위해 @google/gemini-cli-core@google/gemini-cli의 TypeScript 소스 코드는 TypeScript 컴파일러(tsc)를 사용하여 표준 JavaScript로 트랜스파일됩니다. 결과 dist/ 디렉터리가 NPM 패키지에서 게시되는 내용입니다. 이는 TypeScript 라이브러리에 대한 표준 접근 방식입니다.

  • GitHub npx 실행: GitHub에서 직접 Gemini CLI의 최신 버전을 실행할 때 package.jsonprepare 스크립트에 의해 다른 프로세스가 트리거됩니다. 이 스크립트는 esbuild를 사용하여 전체 애플리케이션과 해당 종속성을 단일 자체 포함 JavaScript 파일로 번들링합니다. 이 번들은 사용자 머신에서 즉석에서 생성되며 리포지토리에 체크인되지 않습니다.

Docker 샌드박스 이미지

Docker 기반 실행 방법은 gemini-cli-sandbox 컨테이너 이미지에서 지원합니다. 이 이미지는 컨테이너 레지스트리에 게시되며 미리 설치된 Gemini CLI의 전역 버전이 포함되어 있습니다.

릴리스 프로세스

릴리스 프로세스는 GitHub Actions를 통해 자동화됩니다. 릴리스 워크플로는 다음 작업을 수행합니다.

  1. tsc를 사용하여 NPM 패키지를 빌드합니다.
  2. NPM 패키지를 아티팩트 레지스트리에 게시합니다.
  3. 번들된 자산으로 GitHub 릴리스를 생성합니다.