Gemini CLI 的安装、执行和部署
Gemini CLI 的安装、执行和部署
Section titled “Gemini CLI 的安装、执行和部署”安装并运行 Gemini CLI。本文档概述了 Gemini CLI 的安装方法和部署架构。
如何安装和/或运行 Gemini CLI
Section titled “如何安装和/或运行 Gemini CLI”有多种方法可以运行 Gemini CLI。推荐选项取决于您打算如何使用 Gemini CLI。
- 作为标准安装。这是使用 Gemini CLI 最直接的方法。
- 在沙箱环境中。这种方法提供了更高的安全性和隔离性。
- 从源代码运行。这推荐给项目的贡献者。
1. 标准安装(推荐给普通用户)
Section titled “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)
Section titled “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 贡献者)
Section titled “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提交
Section titled “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编译器(
tsc)将@google/gemini-cli-core和@google/gemini-cli中的TypeScript源代码转换为标准JavaScript。生成的dist/目录是NPM包中发布的内容。这是TypeScript库的标准方法。 -
GitHub
npx执行: 当直接从GitHub运行Gemini CLI的最新版本时,package.json中的prepare脚本会触发一个不同的流程。此脚本使用esbuild将整个应用程序及其依赖项打包到一个自包含的JavaScript文件中。这个捆绑包在用户的机器上即时创建,并不提交到仓库。
Docker沙盒镜像
基于Docker的执行方法由gemini-cli-sandbox容器镜像支持。此镜像发布到容器注册表,并包含预安装的全局版本的Gemini CLI。
发布流程通过GitHub Actions自动化。发布工作流执行以下操作:
- 使用
tsc构建NPM包。 - 将NPM包发布到工件注册表。
- 创建带有捆绑资产的GitHub发布。