[AI] Gemini-Cli 安装和使用教程

news/2025/10/26 22:10:29/文章来源:https://www.cnblogs.com/migrator/p/19167400
[AI] Gemini-Cli 安装和使用教程

Gemini生成(2025年10月26日20:58:40)

gemini-cli 是一个命令行界面工具,它让你能够直接在终端中与 Google 的 Gemini 系列大语言模型进行交互,而无需通过浏览器访问 Bard 或其他图形化界面。

01 需求

1.1 Node.js 20或者更高版本

这是因为Gemini CLI 是基于 Node.js 运行的。

可以执行下面命令查询自己当前的nodejs版本:

node -v

如果没有安装node.js,可以参考:Node.js: JavaScript运行环境安装

Ubuntu 24.04不建议使用apt直接下载nodejs,因为官方apt源的nodejs版本为18,并不满足gemini-cli的需求。

1.2 Google 账号

Google 账号用于认证和使用免费层级服务。

免费层级优势: 每天最多 1000 个请求,每分钟最多 60 个请求,并可以使用 Gemini 2.5 Pro 模型(上下文窗口高达 100 万个 token)。

02 安装

Gemini CLI 可以通过 npm (Node Package Manager) 进行安装。

# 安装
npm install -g @google/gemini-cli
# 安装后查询
gemini --version

如果成功,它会显示当前安装的版本号。

03 认证与配置 (初次启动)

3.1 首次启动认证

首次运行 gemini 命令时,它会引导您完成认证过程。

# 启动gemini
gemini

3.2 选择主题

启动后,CLI 可能会先提示您选择一个主题(颜色方案),使用键盘上的方向键选择您喜欢的主题,然后按回车键确认。

3.3 选择认证方法

接下来,它会提示您选择认证方式。对于初学者和个人用户,强烈推荐使用 "Login with Google (OAuth login)"

  1. 选择 “Login with Google”: 按回车键确认。

  2. 浏览器认证: 您的默认浏览器会自动打开一个 Google 登录页面。

  3. 登录并授权: 按照提示使用您的 Google 账号登录并授予 Gemini CLI 必要的权限。

  4. 认证成功: 浏览器会显示认证成功的消息。回到终端,您会看到 CLI 显示认证成功的提示,并进入主界面。

3.4 关联 Google Cloud Project ID(推荐)

为了充分利用 Gemini API 的所有功能和 Google Cloud 的生态系统(特别是对于更高级的用例和计费管理),建议将您的 CLI 关联到一个 Google Cloud 项目。

  1. 准备 Google Cloud 项目:

    • 进入 Google Cloud 控制台: 访问 https://console.cloud.google.com/。
    • 找到项目 ID: 在页面顶部选择您希望关联的项目(例如:"My First Project"),并复制其项目 ID(Project ID)。项目 ID 通常是一串唯一的字母数字组合(例如:my-project-123456)。
  2. 启用 Gemini API 服务:

    • 导航至 API 和服务: 在左侧导航栏中,点击 “API 和服务” > “库”
    • 搜索并启用 API:
      • 在搜索框中输入 Gemini APIGemini for Google Cloud
      • 找到对应的服务,点击进入详情页面。
      • 点击 “启用” 按钮以确保您的项目可以访问 Gemini API。
  3. 设置环境变量:

    • 复制项目 ID: 将您在上一步中复制的项目 ID(例如:xx-xx-xx-xx)准备好。
    • 设置环境变量: 在您的终端中,使用 export 命令将项目 ID 设置为环境变量。这使得 gemini CLI 能够自动识别并使用这个项目。
    export GOOGLE_CLOUD_PROJECT_ID=xx-xx-xx-xx
    # 请将上面的 "xx-xx-xx-xx" 替换为您自己的项目 ID
    

恭喜!您现在已经完成了 Gemini CLI 的安装、认证和项目关联,可以开始使用了!

04 Gemini CLI 基本使用

Gemini CLI 的操作界面非常友好,类似一个交互式的聊天界面。

4.1 基础对话 (提问)

您可以直接输入您的问题或任务描述,然后按回车键。

  • 示例:
    > 给我写一个 Python 函数,用来计算斐波那契数列的前 N 个数。
    
    Gemini 会生成并显示相应的代码或文本。

4.2 使用斜杠命令 (Slash Commands)

Gemini CLI 提供了许多内置命令来帮助您管理会话、配置工具等。所有命令都以 / 开头。

命令 作用 示例
/help 显示所有可用命令、键盘快捷键和使用说明。 (初学者必用!) /help
/chat 重新开始一个新的聊天会话。 /chat
/stats 查看当前会话的使用统计信息。 /stats
/tools 管理和查看可用的工具(如 grep, terminal, file_read 等)。 /tools
/exit 退出 Gemini CLI。 /exit

4.3 引用文件和目录 (@ 符号)

Gemini CLI 的强大之处在于它可以访问您的本地文件系统(在您的明确许可下),让它能够理解和处理您的代码库或文档。

使用 @ 符号可以将文件或文件夹的内容作为上下文提供给 Gemini。

  • 引用单个文件:
    > 帮我检查一下 @main.py 中的逻辑错误。
    
  • 引用整个目录:
    > 查看 @src 目录下的所有文件,并总结一下这个项目的功能。
    
    • 注意: 首次尝试访问文件时,CLI 会提示您授权访问权限。

4.4 高级功能:代码修改与执行

Gemini CLI 作为 AI 代理,可以执行更复杂的任务,例如:

  • 代码修复:

    > 在 @app.js 中添加一个路由来处理用户注册。
    

    当您要求它进行更改时,它会先显示建议的更改 (Diff),并询问您是否同意应用 (Apply) 更改。这给了您完全的控制权,避免意外修改。

  • 生成测试:

    > 为 @utils.py 中的所有函数生成单元测试代码。
    

05 进阶配置 (可选)

5.1 上下文文件 (GEMINI.md)

您可以在您的项目目录中创建一个名为 GEMINI.md 的文件。这个文件中的内容会被 Gemini CLI 自动加载,作为项目的持久化上下文

  • 用途: 存放项目描述、技术栈、编码规范、重要依赖等信息。
  • 好处: 这样每次您在项目目录中启动 gemini 时,它都能更好地理解您的项目,提供更准确的帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/947098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

主动求索:大学生应掌控学习与时间

读完这几篇文章我深有感触,因为大学没有高中管得严,手机的自由度高了起来,像是要把以前的全补回来,基本整天都在和手机接触,在上课时即使手机没有任何消息,放在手边,也总想去打开看那么一眼再关上。当我开始管控…

2025.10.25 测试 广二 + 梦熊

2025.10.25 测试 广二 + 梦熊上午广二 1. P3293 [SCOI2016] 美味 考虑 + x 就是循环位移 然后直接二分每一位可不可以为 1 ,用主席树维护区间个数,用当前区间减去 x 得到真实区间 复杂度 \(O(n \log V \log n)\) 所以…

CSP-S模拟392025多校冲刺CSP模拟赛8

前言: 嘻嘻,虽迟但到(其实没啥意义)的改题 T1:最小生成树(tree) 据说养鸡大户蛙蛙说原始数据暴力可过请看显然不是我的码风的code #include<bits/stdc++.h>//骇死我力假了inf版线段树!!! using names…

关于莫队算法

莫队算法,优雅的暴力~ 先来一道例题 P3901 数列找不同引入:如何解决?\(O\)(\(n^2\)) 每次读入询问区间\(l至r\)暴力判定!如何优化? 已经知道区间l至r,可以\(O(1)\)扩展至区间l+1至r~询问无序,如何解决步子过大,…

Serilog 日志库的简介

本文主要介绍了 Serilog 的几个核心特点,并简单列了下适用场景,供参考。〇、前言 相较于 log4net,Serilog 则是新项目的首选,现代化、高性能、易用,是 .NET 日志的未来方向。如需了解 log4net 详见往期博文:http…

2025东莞环评公司/环评手续/环评报告/环评验收推荐:广东三洁环保,专业高效,合规保障

2025东莞环评公司/环评手续/环评报告/环评验收推荐:专业高效,合规保障 当前东莞环评领域的技术挑战与数据现状 随着东莞市制造业的持续发展和环保政策的日益严格,环评行业面临着前所未有的技术挑战。根据相关统计数…

word文档使用技巧----一键插入题注

这个学期某课程word文档报告需要图片有题注才给较高的分数,一张张图片打题注非常麻烦,网上搜到用脚本插入题注的方法,修改了一下,方便下次直接复制。 在word的开发工具选择Visual Basic-->插入-->模块-->…

再见 懦弱者的泪滴 善恶判断舍弃 永别 那廉价的正义

test28 我用什么才能留住你liuzhuni 我当然知道正解符合人类直觉,但是任意错解难道不符合很多人的直觉吗,没有大样例好难啊好难啊。注意到最优解一定可以是某种田忌赛马,不妨枚举赢的断点,来做一个暴力的对拍。 首…

2025年东莞环评公司权威推荐榜:环评手续/环评报告/环评验收一站式服务,专业高效合规首选厂家

2025年东莞环评公司权威推荐榜:环评手续/环评报告/环评验收一站式服务,专业高效合规首选厂家 行业背景分析 随着国家环保政策的持续收紧和企业环保意识的提升,环评服务市场正迎来前所未有的发展机遇。在制造业重镇东…

【CI130x-离在线】FreeRTOS的信号量

CI130x ALG SDK库中的audio_play_os_state_t audio_play_semaphore_give(audio_play_os_sem_t xSemaphore)函数是对 FreeRTOS 内置函数 xSemaphoreGive()的简单封装/*** @brief 发送信号量** @param xSemaphore 信号量…

践行 “学思行”,解锁学习新境界

践行 “学思行”,解锁学习新境界—— 读三篇学习类文章有感 在阅读了《大学生上课为什么一定要认真听讲?》《“做中学(Learning By Doing)” 之乒乓球刻意训练一年总结》《优秀的教学方法 --- 做教练与做中学》这三…

Windows Archive

MSDN and TechNetMSDN and TechNet LibrariesWe started the migration of MSDN Library and TechNet Library to docs.microsoft.com in late 2017, and completed the migration this year.MSDN and TechNet ForumsW…

变盲从为探索:专注听课

在阅读《大学生为何必须重视课堂专注?》及后续两篇关于“学用结合”的分享后,我如醍醐灌顶,深刻领悟到真正的成长,绝非被动地接受知识灌输,而是一场需要主动发力的修行——既需要高效的课堂输入,也需要扎实的实践…

以听为基,以做为翼

以听为基,以做为翼,共赴学习成长之途 阅读了三篇关于学习方法的文章后,我对大学阶段的学习有了更深刻的认知,它们从不同维度为我指明了学习的方向,让我获益匪浅。 在《大学生上课为什么一定要认真听讲?》一文中,…

[java 虚拟线程 ]

package com.hugh.java17.v19;import java.time.Duration; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.stream.IntStream;import org.slf4j.Logger; imp…

【ArcMap】按属性表复制字段并上移一段距离

将属性表中 LXMC 为 名称2 的字段复制并上移20米,在py编辑器中插入以下代码:# -*- coding: utf-8 -*- import arcpy import os import sys# 重新加载sys并设置默认编码 reload(sys) sys.setdefaultencoding(utf-8)# …

WPF 关闭程序 Aforge摄像头关闭不了 问题

public static Bitmap StaticBitmap = new Bitmap(100,100); public void Cam_NewFrame(object sender, NewFrameEventArgs eventArgs){lock (StaticHelper.StaticBitmap){using (Bitmap b = (Bitmap)eventArgs.Frame)…

CF1060

题目 C(Hard Version) 因为制造两个2的倍数只需至多两次操作,因此按价格排序后,选择方案只有\(1+i\),\(i\) 和 \(1\) 三种,直接判断即可。\(\Omicron(n\ln{n})\) D 按树的深度进行奇偶分类,从叶节点开始删除,设当前奇…

以专注筑基,以实践致远

以专注筑基,以实践致远——三篇文章带给我的学习启示 细读三篇关于学习与成长的文章,仿佛为我混乱的大学学习状态点亮了一盏明灯。从Scalers强调的课堂专注,到娄老师践行的刻意训练与“做中学”,字里行间的真知灼见…