gemini-cli
An open-source AI agent that brings the power of Gemini directly into your terminal.
前置条件
- Node.js 18 版本以上已经安装
安装
选择进行全局安装:
npm install -g @google/gemini-cli
在 Windows 11 上的安装位置:C:\Users\Lenovo\AppData\Roaming\npm
运行
gemini
主题
选择主题。
登录验证
报错,会让你选择验证方式:
配置
选择第二种登录方式,需要设置 GEMINI_API_KEY 的环境变量。在 PowerShell 的用户配置文件内添加环境变量:
# Enviromental Variables
$env:GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
重新运行,仍然报错,用户地域不支持 API 调用:
✕ [API Error: User location is not supported for the API use. (Status: FAILED_PRECONDITION)]
需要配置代理,继续在 PowerShell 的用户配置文件内添加环境变量:
$env:HTTPS_PROXY="http://127.0.0.1:7890/"
$env:HTTP_PROXY="http://127.0.0.1:7890/"
$env:ALL_PROXY="socks5://127.0.0.1:7890/"
尝试在对话框内输入信息,仍然返回报错信息:
✕ [API Error: exception TypeError: fetch failed sending request]
设置代理之后,会出现一个不好的副作用,就是往 GitHub 远程仓库的代码无法正常推送了。查询一下什么是 127.0.0.1
地址:
127.0.0.1
是一个非常著名的 回送地址,通常用于网络测试和本地服务运行。它指向本地计算机,允许程序与自己进行通信。以下是关于 127.0.0.1
的一些要点:
- 回送地址:它是本机的 IP 地址,主要用于测试和进程间通信。
- 连接问题:如果遇到“
127.0.0.1
拒绝连接”的问题,可能是因为它被解析为 IPv6 地址而不是 IPv4 地址。 - 使用场景:系统管理员和开发人员常用它来测试应用程序。
- 重要性:在网络中,
127.0.0.1
是一个保留地址,确保本地服务的正常运行。
为什么要设定使用 回送地址 配置代理呢?我不明白。只是如此设定不但无法解决当前问题,而且引入新的问题,只好取消上述配置代理的相关代码。
网络上的讨论贴里,有人建议把 npm 的安装路径添加进系统环境变量,默认是在用户环境变量里面。添加后仍然存在同样的报错。
尝试
https://oauth2.googleapis.com/
选择将 https://oauth2.googleapis.com/ 这个地址的登录位置更改为美国?同样报错:
✕ [API Error: User location is not supported for the API use. (Status: FAILED_PRECONDITION)]
解决方案
https://generativelanguage.googleapis.com/
选择将 https://generativelanguage.googleapis.com/ 这个地址的登录位置更改为美国?成功返回信息!