Gemini CLI 的安装、执行和部署
Gemini CLI 的安装、执行和部署
安装并运行 Gemini CLI。本文档概述了 Gemini CLI 的安装方法和部署架构。
如何安装和/或运行 Gemini CLI
行 Gemini CLI 的方法有多种。推荐的方法取决于您打算如何使用 Gemini CLI。
- 作为标准安装方式,这是使用 Gemini CLI 最直接的方法。
- 在沙箱环境中。这种方法可以提供更高的安全性和隔离性。
- 来自源头。建议项目贡献者使用。
1. 标准安装(推荐用于标准安装)用户)
这是推荐的结束方式——用户安装 Gemini CLI 需要从 NPM 注册表下载 Gemini CLI 软件包。
-
全局安装:
Terminal window npm install -g @google/gemini-cli然后,即可从任何位置运行 CLI:
Terminal window gemini -
NPX 执行:
Terminal window # Execute the latest version from NPM without a global installnpx @google/gemini-cli
2.在沙箱环境中运行(Docker/Podman)
为了确保安全性和隔离性,Gemini CLI 可以运行在容器内。这是 CLI 执行可能产生副作用的工具的默认方式。
- 直接从镜像仓库运行: 您可以直接运行已发布的沙箱镜像。这对于只有 Docker 且想要运行命令行界面 (CLI) 的环境非常有用。
Terminal window # Run the published sandbox imagedocker run --rm -it us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.1 - 使用
--sandbox标志: 如果您已在本地安装了 Gemini CLI(使用上面描述的标准安装),您可以指示它在沙盒容器内运行。Terminal window gemini --sandbox -y -p "your prompt here"
3. 从源代码运行(推荐给 Gemini CLI 贡献者)
项目贡献者希望直接从源代码运行 CLI。
-
开发模式 此方法提供热重载,适用于积极开发。
Terminal window # From the root of the repositorynpm run start -
生产模式(链接包): 此方法通过链接本地软件包来模拟全局安装。它适用于在生产工作流程中测试本地构建。
Terminal window # Link the local cli package to your global node_modulesnpm link packages/cli# Now you can run your local version using the `gemini` commandgemini
4. 运行来自 GitHub 的最新 Gemini CLI 提交版本
您可以直接从 GitHub 代码库运行最新提交的 Gemini CLI 版本。这对于测试仍在开发中的功能非常有用。
# Execute the CLI directly from the main branch on GitHubnpx https://github.com/google-gemini/gemini-cli部署架构
上述执行方法的实现得益于以下架构组件和流程:
NPM 包
Gemini CLI 项目是一个单体仓库,它将两个核心包发布到 NPM 注册表中:
@google/gemini-cli-core: 后端,处理逻辑和工具执行。@google/gemini-cli: 面向用户的前端。
这些软件包用于执行标准安装以及从源代码运行 Gemini CLI。
构建和包装过程
根据分发渠道的不同,采用两种不同的构建流程:
-
NPM 发布: 为了发布到 NPM 注册表,TypeScript 源代码会被
@google/gemini-cli-coreTypeScript@google/gemini-cli编译器()转译成标准的 JavaScripttsc。最终生成的dist/目录将发布到NPM包中。这是TypeScript库的标准做法。 -
GitHub
npx执行 直接从 GitHub 运行最新版本的 Gemini CLI 时,脚本会触发不同的进程prepare。package.json该脚本会将esbuild整个应用程序及其依赖项打包到一个单独的、独立的 JavaScript 文件中。此打包文件会在用户计算机上动态创建,而不会提交到代码仓库。
Docker 沙箱镜像
该容器镜像支持基于 Docker 的执行方式gemini-cli-sandbox 。此镜像已发布到容器镜像仓库,并包含预装的全局版 Gemini CLI。
发布流程
发布流程通过 GitHub Actions 实现自动化。发布工作流执行以下操作:
- 使用以下命令构建 NPM 包
tsc。 - 将 NPM 包发布到工件注册表。
- 创建包含捆绑资源的 GitHub 发布版本。