Gemini-CLI on windows

JinbokCho·2025년 7월 2일

출처 : https://github.com/google-gemini/gemini-cli

  1. Gemini-CLI가 나왔으며 혼자 사용하기에는 거의 무제한이다. 모델 또한 gemini pro 2.5까지 지원하기 때문에 유료 gemini와 차이가 없다.
  2. Gemini-CLI는 무료인 대신에 사용정보가 구글로 넘어가기 때문에 민감한 코드는 유료버전(privacy 보장)을 사용해야한다.
  3. 실습은 powershell이 깔린 window 11, 10.0.26 버전을 사용할 것이다.

node.js 설치

  1. gemini-CLI를 사용하기 위해선 node.js 18버전 이상이 필요하다.
    https://nodejs.org/ko/download/current

gemini-cli 설치

  1. node.js 전용 installer인 npx, npm을 사용하면된다. npx는 터미널을 껏다키면 초기화되니 조심하세요.
#powershell을 실행 후
npm install -g @google/gemini-cli
gemini
  1. 방향키를 조작하여 theme을 원하는 것으로 바꿔서 실행하면 바닐라 설정을 끝난다.

gemini-cli auth

  1. gemini-cli의 인증 방법은 2가지가 있다.
  2. 1) 구글 계정으로 로그인 하는 방법(*추천) : 하루 1000번의 request 사용가능
  3. 2) aistudio에서 발급받은 토큰을 사용하는 방법 : 하루 100번의 request 사용가능
  4. 원하는 방법을 이용하면 된다.

gemini-cli 사용 예시

  1. gemini-cli는 새로운 프로젝트를 맡아서 할 수 있다.
    11-1. (파일시스템이 접근가능하기 때문에 보안상 sandboxing을 거쳐야해서)
cd new-project/
gemini
#gemini에 제공할 예시 프롬프트
Write me a Gemini Discord bot that answers questions using a FAQ.md file I will provide

gemini-mcp

  1. gemini에서 드디어 mcp를 지원해준다. gemini에서 mcp를 사용하는 방법은 다음과 같다.
  2. 프로젝트 폴더 하위의 .gemini/settings.json 생성후 claude나 cursor와 마찬가지로 mcp 설정을 작성해주면 된다.
  3. setting.json에 $VAR_NAME or ${VAR_NAME} 와 같이 환경변수를 작성해줄 경우 gemini-cli가 이를 읽을 수 있다. api-token을 사용할 때 활용하면 좋다.

gemini-sandbox

  1. gemini-cli는 파일시스템과 shell을 사용할 수 있다. 보안상 취약할 수밖에 없는 gemini-cli의 특성상 격리공간을 만들어주는게 필요하다.
  2. docker나 vm을 사용하는 것도 가능하지만 gemini-cli가 제공하는 방법으로는 sandboxing이 있다.
  3. 그래서 사용자의 pc에 docker가 설치되어있어야한다. sandboxing하는 방법은 다음과 같다.
#simplest way
gemini -s
  1. .gemini/sandbox.Dockerfile 을 작성하면 원하는 실행 환경을 구성할 수 있다.
#<sandbox.Dockerfile의 예시>
FROM gemini-cli-sandbox
# Add your custom dependencies or configurations here
# For example:
# RUN apt-get update && apt-get install -y some-package
# COPY ./my-config /app/my-config
  1. 그럼 샌드박싱을 위한 환경 구성을 해보자

prerequisite

  • wsl2 구성
  • docker desktop 설치
  1. docker-desktop 실행 > settings > general > use wsl2 를 하면 된다.
  2. gemini를 sandbox 환경에서 실행한다.
#gemini를 샌드박스 환경에서 실행한다.
gemini -s

gemini sandbox와 로컬 dir을 연결하는 방법

  1. settings.json에 다음을 추가하면 local pc의 디렉토리에 sandbox를 mount할 수 있다.
{
"sandbox.mounts": [
    {
      "type": "bind",
      "source": "/path/to/your/local/directory",
      "target": "/workspace"
    }
  ]
}

주의

gemini sandbox를 사용하더라도 .gemini 하위의 폴더는 접근권한을 가지고 있다.
예를 들어)채팅기록은 .gemini/tmp에 log폴더로 저장된다.
권한에 대한 수정사항은 gemini-cli sandbox를 재시작해야 적용되기 때문에 malicious한 행동을 할 걱정은 미뤄둘 수 있다.

usage-statistics

gemini의 사용이력을 공개하지 않는 옵션을 .gemini/setting.json에 추가할 수 있다.

{
  "usageStatisticsEnabled": false
}
profile
IT 어린이

0개의 댓글