Gemini CLI 사용법
Gemini CLI 사용법 
https://github.com/google-gemini/gemini-cli
    - 설치 (업데이트)
npm install -g @google/gemini-cli 
     - 실행 
gemini
-------------------------------------------------------------------------------
* 새 인증 설정 방법
     - gemini 실행중 /auth 명령 실행
--------------------------------------- 
* 인증 방법에 따른 차이 
1. Login with Google : 무료
무료는 Gemini Pro 모델 사용과 사용량에 제한 있음
유료로 사용하려면 Gemini Code Assist 유료 결제를 하면 가능
- 환경변수 설정 필요 : GOOGLE_CLOUD_PROJECT="google cloud 프로젝트"
    참고 :  https://codens.tistory.com/2953
2. Gemini API Key (AI Studio) 
https://aistudio.google.com/app/apikey
     : 사용해본 결과 현재 유료
     - 설정 방법 
GEMINI_API_KEY="API_키" 
  
3. Vertex AI : 유료
-------------------------------------------------------------------------------
'Vertex AI'  인증하는 방법
https://medium.com/@minamimunakata/how-to-set-up-gemini-cli-with-vertex-ai-fcbe26207271
* Google Cloud 에 가입하고 프로젝트 생성
* google cloud CLI (gcloud) 설치하고 인증 
https://cloud.google.com/sdk/docs/install?hl=ko
https://codens.tistory.com/2785
     - 인증 실행 
gcloud auth application-default login 
     - 현재 인증 정보 확인 
gcloud config list 
---------------------------------------
* 시스템 환경변수 설정 
    - 프로젝트의 .env 에 설정해도 됨(프로젝트 한정) 
GOOGLE_GENAI_USE_VERTEXAI=true 
GOOGLE_CLOUD_PROJECT="생성한 프로젝트" 
GOOGLE_CLOUD_LOCATION="region 이름"  <== global 추천
* gemini CLI 인증 
gemini 실행후 인증방식을 Vertex AI 선택하면 브라우저 인증 실행됨 
다른 브라우저로 인증하려면, 실행된 브라우저의 주소줄을 복사해서 원하는 브라우저에 붙여넣고 인증한다.
-------------------------------------------------------------------------------
------------------------------------------------------------------------------- 
gemini-cli 에러 해결 방법 
* 에러 메시지 
✕ [API Error: API keys are not supported by this API. Expected OAuth2 access token or other authentication credentials that assert a principal. See https://cloud.google.com/docs/authentication (Status: UNAUTHENTICATED)] 
* 해결 방법 
- google cloud 인증 
gcloud auth application-default login 
gcloud auth application-default set-quota-project [프로젝트이름] 
gcloud config set project  [프로젝트이름] 
- 환경변수 설정 
export GOOGLE_GENAI_USE_VERTEXAI=true 
export GOOGLE_CLOUD_PROJECT=[프로젝트이름] 
export GOOGLE_CLOUD_LOCATION=global 
export GOOGLE_APPLICATION_CREDENTIALS=인증키파일 경로
- 다음 환경변수는 설정하지 않는다 
GOOGLE_API_KEY 
-------------------------------------------------------------------------------
--------------------------------------- 
* 사용 모델 
     - 모델 변경 
gemini --model gemini-2.5-pro
     - 주로 Gemini Pro를 사용하고, 현재 사용중인 모델이 하단에 표시됨 
     - 그런데 사용 로그를 보면 Flash도 사용되는 걸로 나옴 
------------------------------------------------------------------------------- 
Google Cloud 결제금액 , 사용량 모니터링 방법 
결제 - 개요 (결제 예정 금액) 
https://console.cloud.google.com/billing
API 및 서비스 - API 사용 현황 
https://console.cloud.google.com/apis/dashboard
-> Gemini for Google Cloud, Vertex AI Endpoints, Vertex AI Model Garden 선택 
모니터링 – 사용량 모니터링 
https://console.cloud.google.com/monitoring/dashboards
-> Gemini for Google Cloud, Vertex AI Endpoints, Vertex AI Model Garden 선택 
할당량 및 시스템 한도 – IAM 및 관리자 / 할당량 
https://console.cloud.google.com/iam-admin/quotas
-------------------------------------------------------------------------------
---------------------------------------
* 여러줄 입력방법 
Ctrl+Enter : 사용가능 환경 WSL, PowerShell, cmd.exe, git-bash.exe
끝에 '\' 입력후 엔터 : 사용가능 환경 WSL, PowerShell, cmd.exe, git-bash.exe
--------------------------------------- 
* 여러줄 붙여넣기 방법 
- WSL에서는 바로 붙여넣기 가능 
- Windows 환경(PowerShell, cmd.exe, git-bash.exe)에서는 외부 에디터 실행 키(Ctrl+x) 사용 
--------------------------------------- 
에디터 설정 
- notepad 
set EDITOR=notepad 
- Vim 
set EDITOR=vim 
- vscode 
set EDITOR=code 
------------------------------------------------------------------------------- 
< 참고 > 
VS code Extension : Gemini Code Assist , 사용자 인증 변경 방법 
     - 로그아웃 
명령 팔레트( Ctrl+Shift+P ) -> sign out 입력 -> Google Cloud SDK에서 모든 계정 로그아웃(Sign out of all accounts in Google Cloud SDK)**을 선택 
     - 로그인 
맨 좌측 패널의 제미나이 아이콘 클릭 -> Google에 로그인(Log in to Google)  
* 사용 모델 변경 방법 
     - 모델 변경 불가, 주로 Gemini-Flash 버전 사용 
     - 참고 : GitHub Copilot은 Gemini-Pro 지정 가능 
* Gemini Code Assist Standard(유료버전) 사용 신청 방법 
https://console.cloud.google.com/gemini-admin
     - 구글 클라이드의 상단 메뉴에서 admin for gemini 타이핑 
--------------------------------------- 
VS code Extension : Google Cloud Code 
     - Google Cloud 기반의 개발 및 배포 기능 
     - AI 코딩 도우미가 아님 
    - Gemini Code Assist 와 관련 없음