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.json의prepare스크립트에 의해 다른 프로세스가 트리거됩니다. 이 스크립트는esbuild를 사용하여 전체 애플리케이션과 해당 종속성을 단일 자체 포함 JavaScript 파일로 번들링합니다. 이 번들은 사용자 머신에서 즉석에서 생성되며 리포지토리에 체크인되지 않습니다.
Docker 샌드박스 이미지
Docker 기반 실행 방법은 gemini-cli-sandbox 컨테이너 이미지에서 지원합니다. 이 이미지는 컨테이너 레지스트리에 게시되며 미리 설치된 Gemini CLI의 전역 버전이 포함되어 있습니다.
릴리스 프로세스
릴리스 프로세스는 GitHub Actions를 통해 자동화됩니다. 릴리스 워크플로는 다음 작업을 수행합니다.
tsc를 사용하여 NPM 패키지를 빌드합니다.- NPM 패키지를 아티팩트 레지스트리에 게시합니다.
- 번들된 자산으로 GitHub 릴리스를 생성합니다.