macOS에 gemini-CLI 설치방법(with iTerm)

  Google의 AI Gemini는 최근 2.5pro 버전을 서비스하면서 많은 성능향상을 가져왔다.

아마 coding 분야에서는 1위의 성능을 나타내고, 각종 기능들도 다른 AI들을 앞서가고있다.


하지만 gemini 2.5pro는 웹에서 사용하면 무료사용자의 경우 하루 4~5번 정도의 검색 밖에 사용 할 수 없다. 하지만 gemini-clif를 이용하면 편리성은 조금 떨어지지만 100만토큰, 하루 1000회의 질문을 할 수 있게 된다.


단점은 터미널에서 동작하기 때문에 한글이 원활하지 않고, GUI도 불친절해서 사용감이 조금 불편 할 수 있지만, VS code나 혹은 terminal 환경에서 작업을 많이하는 개발자들에게는 크게 불편하지도 않고 편리하게 사용 할 수 있을 것이라 생각된다.


macOS에 gemini-CLI를 설치하는 방법은 두 가지가 있다.

1. homebrew를 이용한 설치

2. node.js를 이용한 설치


이 중에서 Google의 공식 설치 방법은 node.js를 이용한 방법을 권장하고있다. 그 이유는 homebrew에 gemini를 검색하면 gemini-cli와 gemini 이렇게 2개가 검색 되는데, 여기서 사용되는 gemini는 google의 AI툴이 아니라 mac의 파일관리 프로그램의 일종이기 때문이다. 이 때문에 google은 node.js를 통한 설치를 권장하고있다.



위 화면은 homebrew를 이용해 gemini를 검색한 결과이다. 실제 위 방법으로도 gemini-cli를 설치한다면 제대로 동작하는 것은 확인 할 수 있으나, 아무래도 공식 가이드를 따라하는 편이 좋을 것 같은 것도 사실이다.




그럼, 시작을 하기 앞서서 node.js가 설치되어있는지 확인해 보려면 아래와 같이 입력하면 된다. 만약 여기에서 해당 파일이 없다면 brew를 이용해서 설치를 해줘야 하고, 그렇지 않다면 node.js의 version 정보가 나올 것이다.

node -v

# 만약 node가 설치되어있지 않다면
brew install node@22


Gemini-CLI를 설치하기 위해서는 node.js가 18버전 이상(v18.17.0 이상을 사용하자) 이어야 하기 때문에, 만약 버전이 낮다면 node.js를 업데이트해줘야한다.


Node.js가 준비가되었다면 이제, npm을 이용해서 gemini-cli를 설치할 차례다.


npm은 Node.js와 함께 제공되는 패키지관리자다. claude-code를 사용할 때도 아마 Node.js를 이용해서 설치했던 것 같은데 아마도 이녀석도 같은 녀석일 것이다.

npm install -g @google/gemini-cli

npm을 이용한 설치의 커맨드는 위와 같다.





위 화면은 설치가 최종적으로 끝난 모습이다. 중간 과정은 진행바가 움직이는 형태로 진행이 되는데, 생각보다 많은 것들이 설치되지 않아서 빨리 끝나는 양상이다.

어쨌든, 에러메세지가 출력되지 않고 위와 같이 나온다면 아무래도 설치에 성공한 것이라고 할 수 있다.


혹시, 설치과정에 오류가 생긴다면 sudo 권한을 사용해야 할 수 있다. 하지만 mac은 root 계정이 비활성화 되어있어서, 사용을 위해서는 또 설정을 해줘야하는 불편함이 있지만.. 여기서는 그러한 설명을 생략한다.



자, 설치가 되었으니 대망의 실행의 순간이 찾아왔다.

gemini


gemini-cli를 설치했지만 실행은 쿨하게 gemini로 진행된다.




만약 위와 같이 에러가 발생 할 수 있지만, 이런 문제는 fs/promises 모듈에 contants가 추가된게 18.17.0이후 버전의 node.js이기 때문이다. 때문에 이런 경우엔 node.js를 업데이트해줘야 한다.





이렇게 멋지게 node.js의 버전까지 업그레이드했으면, 다시 gemini를 실행시켜보자.




claude-code의 text art가 부러웠는지, google도 gemini를 멋들어지게 꾸며놨다.

Text 기반의 terminal이 뭔가 GUI 스럽게 변했는데, >Select Theme에서 방향키를 이용해서 움직이면 Preview를 통해서 앞으로 사용될 테마를 선택 할 수 있다.





테마를 골랐으면 이젠 3가지 접속 방법을 선택해야한다.

전문가나 전용의 빠른 응답 등을 원한다면 API나 Vertex AI를 선택하면 되지만, 이건 아는 사람들의 이야기가. 필자의 경우는 단순히 사용목적이기에 Login with Google을 선택한다. 이 방법을 선택하면 브라우저가 오픈되고, 내가 사용할 google ID를 선택하게 된다.


그렇게 내가 접속할 계정까지 선택됐다면? 이제 준비는 다 끝난 것이다.





이제 terminal에서 gemini를 즐겨보자. 사실 재밌는 기능 중 하나는 @를 이용해서 내 local path를 지정 할 수 있고, 거기에 따른 동작이나 요청을 넣을 수 있다는 점이다.


Terminal 기반으로 동작하기 때문에 VS code에서도 충분히 포팅해서 사용 할 수 있다는 장점이 있으니 잘 판단하고 사용하길 바란다.



Homebrew를 통해서 node@22를 설치했었던 사람들은 주목.


위 방법에 필자가 소개했던대로 nvm을 최신 버전으로 업그레이드 한다고 해도, node의 link가 hombrew를 통해 설치된 구버전을 가리키고있다. 특히 터미널을 껐다켜서 .zshrc이 소싱 될 때마다 말이다.

이럴때, 추가적인 방법이 있으니 아래 방법을 따라서 진행하길 바란다.


brew unlink node@22


위 방법은 uninstall과는 확실히 다른 것으로, node를 삭제하지는 않고 시스템이 node 명령어를 찾느 경로에서 심볼릭 링크를 제거하는 것이다. 그말인 즉슨, 시스템이 더이상 Homebrew의 node를 찾지 못하게 된다.


이후에는 소싱을 바꾸기 위해서 .zshrc file을 열어서 최하단에 NVM에 관련된 환경설정을 바꾸어야한다.

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

export 부분을 제외하고 하단 2line이 아마 homebrew 와 관련된 path로 잡혀있을 건데, 이 부분을 수정하면 된다.

기존 것을 지울 필요는 없고, 덮어 씌울 것보다 아랫줄에 위치한다면 마지막에 설정된 정보들로 적용될 것이다.


이후에 잘 생각해보니까 node@22 자체가 v22 버전이 맞는것 같다. 때문에 위 방법은 잘못된 것이 맞다. 엄밀히 말하면 homebrew의 link가 node.js를 보는게 아니라 nvm을 설치했으면 이 nvm을 바라보고 있는 것으로 추정된다. 때문에 brew unlink node@22가 아니라 오히려 brew link node@22를 해줘야 하는게 맞는것 같다.


homebrew만으로는 모든 프로그램들을 편리하게 관리 할 수 없다는걸 새삼 다시 깨닫는다.


사용자가 자기한테 맞춰서 필요한 환경을 올바르게 세팅하는 방법이 최고인 것 같다.

댓글

이 블로그의 인기 게시물

Master Claude Code - Complete Guide

Gemini 3.5 루머 총정리