Gemini CLI安装及使用

一、Gemini CLI 概述

Gemini CLI 是一个开源的 AI 代理工具,由 Google 开发,旨在将 Gemini 模型的强大功能直接集成到开发者的终端中。它支持多种任务,包括代码生成、调试、测试用例生成等,特别适合处理复杂的编程需求。

个人开发者想要免费使用 Gemini CLI,只需使用个人 Google 账户登录即可获得免费的 Gemini Code Assist 许可证。该免费许可证允许您访问 Gemini 2.5 Pro 及其庞大的 100 万个token 上下文窗口,同时提供了业界最高的限额:每分钟 60 个模型请求,每天 1000 个请求。

二、Gemini CLI 与 网页版 的区别

Gemini-cli 是谷歌推出的终端版 AI 工具,与网页版 Gemini 主要区别在于使用场景和交互方式:

区别 Gemini CLI Gemini 网页版
客户端类型‌ 命令行界面工具,需通过终端运行 基于浏览器的 AI 服务,通过网页直接使用
‌功能定位‌ 强调代码编写、调试及自动化开发流程,支持自然语言命令直接调用代码工具 暂未明确功能范围,但可能侧重问答、内容生成等场景

三、Gemini CLI 安装

3.1 GitHub地址

https://Github.com/google-gemini/gemini-cli

3.2 NodeJS下载及安装

确保已安装Node.js 18或更高版本。

下载完毕后,进行安装,建议不要安装到系统盘。笔者安装路径:D:\Program Files\nodejs

可通过 node -v 判断Node.js是否正确安装。

注意:

要下载最新版本,否则会遇到版本问题

3.3 修改npm默认下载位置

修改 npm 的全局安装路径可以通过以下步骤完成,确保全局包(使用-g安装的模块)和缓存文件存储到自定义路径。

3.3.1 自定义目录

在目标路径(D:\Program Files\nodejs)下创建两个文件夹,分别用于存储全局模块和缓存文件:

3.3.2 配置npm的全局路径和缓存路径

cmd 复制代码
# 设置全局路径
npm config set prefix "D:\Program Files\nodejs\npm_global"
# 设置缓存路径
npm config set cache "D:\Program Files\nodejs\npm_cache"

3.3.3 确认npm配置是否生效

cmd 复制代码
# 查看全局路径
npm config get prefix
# 查看缓存路径
npm config get cache

3.4 下载Gemini-CLI

在终端中执行以下命令:

cmd 复制代码
npx https://github.com/google-gemini/gemini-cli

或者使用以下命令安装:

cmd 复制代码
npm install -g @google/gemini-cli

如果出现以下这种情况,则说明已经安装成功。

3.5 主题设置

在控制窗口(cmd)中,输入:gemini

使用Tab键对Select ThemeApply To进行切换,使用上下(↑↓)键进行选择,按Enter键,则设置选中。

3.6 生成 Gemini API 密钥

再次点击Enter后,出现Select Auth Method,授权方式分为Login with Google,Gemini API Key (AI Studio),Vertex AI三种,笔者使用Gemini API Key (AI Studio)。使用上下键选择"Gemini API Key(Ai Studio)",点击Enter键。

操作此步骤,需要使用Google账号,从Google AI Studio创建密钥,否则,无法进行下一步。

3.7 设置环境变量

3.7.1 配置环境变量GEMINI_API_KEY

用于身份验证和授权调用 Google Gemini 模型服务。该密钥是申请 API 访问权限的凭证,通过 Google Cloud 平台创建后用于配置环境变量,确保 API 调用的合法性。 ‌

cmd 复制代码
GEMINI_API_KEY='[API密钥]'

Windows电脑可通过环境变量进行配置。

3.7.2 配置环境变量GOOGLE_CLOUD_PROJECT

项目身份标识,代表用户在 Google Cloud 平台上的项目配置,需在 Google Cloud 控制台创建项目并启用 Vertex AI 服务。该参数关联项目权限、支付方式(如信用卡)及 API 调用配额分配。

cmd 复制代码
GOOGLE_CLOUD_PROJECT='[项目ID]'


项目ID获取方式:

3.7.3 配置代理

由于地区限制,无法访问Google Gemini API,可通过配置代理解决此问题。

cmd 复制代码
HTTP_PROXY=http://127.0.0.1:[代理端口]
HTTPS_PROXY=http://127.0.0.1:[代理端口]

代理需要配置的用户变量中。

代理端口获取方式:

代理端口的获取方式根据软件而定。

配置代理的原因:

如果不配置代码,将会出现:connect ETIMEDOUT(网络连接超时错误)

cmd 复制代码
Error flushing log events: AggregateError[ETIMEDOUT]:
	at internalConnectMultiple(node: net: 1134: 18)
at afterConnectMultiple(node: net: 1715: 7) {
	code: 'ETIMEDOUT',
	[errors]: [
		Error: connect ETIMEDOUT 216.239 .36 .223: 443
		at createConnectionError(node: net: 1678: 14)
		at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
		at listOnTimeout(node: internal / timers: 610: 11)
		at process.processTimers(node: internal / timers: 543: 7) {
			errno: -4039,
			code: 'ETIMEDOUT',
			syscall: 'connect',
			address: '216.239.36.223',
			port: 443
		},
		Error: connect ETIMEDOUT 216.239 .32 .223: 443
		at createConnectionError(node: net: 1678: 14)
		at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
		at listOnTimeout(node: internal / timers: 610: 11)
		at process.processTimers(node: internal / timers: 543: 7) {
			errno: -4039,
			code: 'ETIMEDOUT',
			syscall: 'connect',
			address: '216.239.32.223',
			port: 443
		},
		Error: connect ETIMEDOUT 216.239 .38 .223: 443
		at createConnectionError(node: net: 1678: 14)
		at Timeout.internalConnectMultipleTimeout(node: net: 1737: 38)
		at listOnTimeout(node: internal / timers: 610: 11)
		at process.processTimers(node: internal / timers: 543: 7) {
			errno: -4039,
			code: 'ETIMEDOUT',
			syscall: 'connect',
			address: '216.239.38.223',
			port: 443
		},
		Error: connect ETIMEDOUT 216.239 .34 .223: 443
		at createConnectionError(node: net: 1678: 14)
		at afterConnectMultiple(node: net: 1708: 16) {
			errno: -4039,
			code: 'ETIMEDOUT',
			syscall: 'connect',
			address: '216.239.34.223',
			port: 443
		}
	]
}

macOS解决方式

注意:分环境

cmd 复制代码
Base 需要写到.bash xxx文件
zsh  需要写到.zshrc 文件

也可以直接写成环境变量:
# 代理设置
export HTTP_PROXY="http://127.0.0.1:[代理端口]"
export HTTPS_PROXY="http://127.0.0.1:[代理端口]"
export ALL_PROXY="http://127.0.0.1:[代理端口]"

四、Gemini CLI 使用

4.1 代码生成方式

Gemini CLI 可以通过自然语言提示(prompt)生成代码,支持以下主要方式:

1.直接生成代码

用户可以在终端输入自然语言描述,Gemini CLI 会根据描述生成相应的代码片段。

2.基于上下文的生成

Gemini CLI 可以利用当前项目目录中的代码文件作为上下文,生成更符合项目需求的代码。例如,切换到项目目录后运行:

cmd 复制代码
cd my-project/
gemini

CLI 会分析项目中的相关文件(如.py .js文件),生成与项目风格一致的代码。

3.多模态生成

Gemini CLI 支持多模态输入(例如PDF草图),可以根据非代码输入生成代码。

4.2 代码生成步骤

1.进入项目目录(可选):如果需要基于现有代码库生成代码,切换到项目目录:

cmd 复制代码
cd D:\Software\AIs\CasRel_RE\data

目录结构如下:

2.输入提示:在终端中输入自然语言提示,描述所需的代码。

cmd 复制代码
请分析当前目录中的数据文件,并使用casrel算法,完成关系的抽取模型,包括数据处理、模型、模型训练、模型评估以及模型预测。

Gemini CLI 将返回生成的过程片段,例如:

3.接受或编辑代码 :生成的代码会以文本形式显示在终端中。用户可以手动将其复制到代码文件中,或者使用 CLI 的文件操作功能直接插入(需要配置)。

4.上下文管理 :如果需要更精确的代码生成,可以通过以下方式提供更多上下文:

在项目根目录中创建.gemini/styleguide.md文件,指定代码风格(如命名规范、文档格式)。

使用.aiexclude.gitignore文件排除不相关的文件,以优化上下文。

5.生成代码结果 :生成的代码质量非常高。

五、与 IDE 集成的代码生成

Gemini CLI 的功能也可以通过 Gemini Code Assist 在支持的 IDE(如 VS Code、JetBrains IDE、Android Studio)中使用。

六、限制与注意事项

非确定性:AI 生成的代码可能不完全符合预期,可能需要多次提示或手动调整。

上下文限制 :尽管支持 100 万 token 上下文窗口,但大型代码库可能需要通过 .aiexclude文件优化上下文。

仅限 Python 执行:Gemini CLI 的代码执行功能(例如运行生成的代码以验证结果)仅支持 Python,且不支持文件 I/O 或非文本输出(如数据图)。

依赖外部工具:某些功能(如多模态生成)可能需要额外的工具或服务(如 Imagen、Veo)。

免费额度限制:免费用户每天有 1000 次请求限制,超出后需升级到付费计划(如 Google AI Studio 或 Vertex AI)。

相关推荐
哪吒编程16 天前
突发!谷歌发布Gemini 2.5 Pro正式版,碾压Claude Opus 4,国内直接使用
openai·gemini
机器之心18 天前
刚刚,Gemini 2.5系列模型更新,最新轻量版Flash-Lite竟能实时编写操作系统
人工智能·gemini
北极的树25 天前
谁说AI只会模仿,从Google AlphaEvolve项目看算法的自主创新
人工智能·算法·gemini
夏有凉风,冬有雪25 天前
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
google·github·ai编程·gemini
哪吒编程1 个月前
谷歌高调宣布,Gemini 2.5 Pro 0605发布,硬刚Claude Opus 4,国内直接使用
openai·gemini
产品试金石1 个月前
支持Gemini/Claude/GPT/Grok,2个多人共享AI程序推荐
openai·gemini
win4r1 个月前
🚀颠覆传统编程!Cursor 1.0+Claude Task Master+Gemini 2.5 Pro 0605开发效率提升10倍!从产品需求文档生成到子任
claude·cursor·gemini
机器之心1 个月前
深夜突袭!谷歌Gemini 2.5 Pro更新蝉联榜一:推理超越o3,编程超越opus4
人工智能·gemini
我姚学AI1 个月前
重磅!Gemini 2.5 Pro深夜更新!选择硬刚Claude4!
gemini