# 使用 Homebrew, Nix 安装 goctl

查看 goctl 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:goctl
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install goctl
```

  证据: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#goctl
```

  证据: nixpkgs package indexes: pkgs/by-name/go/goctl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:goctl
- **软件包管理器:** Homebrew
- **版本:** 1.10.2
- **来源摘要:** Generates server-side and client-side code for web and RPC services
- **主页:** <https://go-zero.dev>
- **仓库:** <https://github.com/zeromicro/go-zero>
- **最后更新:** 2026-08-01T06:42:22Z
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- goctl (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 1.10.2
## 项目历史与用法

goctl is the code-generation CLI for the go-zero Go microservices framework. It turns go-zero's API and RPC descriptions into server code, client code, models, Dockerfiles, Kubernetes manifests, templates, and other project scaffolding.

### 项目历史

The go-zero repository was created in August 2020. Its README says the framework grew from an early 2018 transition from a Java and MongoDB monolith to Go microservices, with goctl serving as the code-generation tool around go-zero's API description syntax.

goctl evolved as a tool module inside the go-zero repository. Official documentation describes it as go-zero's code generation tool for HTTP services, gRPC services, models, Dockerfiles, Kubernetes manifests, and related workflow tasks.

### 采用历史

go-zero became a large Go framework project, with GitHub repository metadata showing more than thirty thousand stars by June 2026. goctl's adoption is tied to that framework: users installing go-zero for API and RPC services also install goctl to generate the boilerplate that keeps services consistent.

Distribution follows both Go and package-manager norms. The official README documents `go install github.com/zeromicro/go-zero/tools/goctl@...`, Homebrew installation with `brew install goctl`, and a Docker image path.

### 使用方式

Typical usage begins by creating a `.api` file, running `goctl api go -api ... -dir ...`, and then running the generated Go service. The README's quick start shows goctl generating handler, logic, config, service-context, and type files for an HTTP API.

The CLI reference groups goctl commands around API generation, RPC generation, model generation, Docker, Kubernetes, environment checks, config, templates, naming style, Swagger, upgrades, migration, shell completion, and bug reporting.

### 为什么软件包爱好者会关心

Package nerds care about goctl because it is a generator packaged separately from the framework it serves. That split lets a team pin or install the CLI through Homebrew, Go tooling, or Docker while generated services depend on normal Go modules.

It is also a good example of spec-driven development in a package ecosystem: the `.api` file becomes a compact source artifact, and goctl expands it into a repeatable service layout.

### 时间线

- 2018: go-zero's README describes the internal microservices transition that motivated the framework.
- 2020-08: go-zero GitHub repository created.
- 2025-10: goctl v1.9.2 release tag published under tools/goctl.
- 2026-02: goctl v1.10.0 release tag published.
- 2026-03: goctl v1.10.1 release tag published.

### Related projects

- go-zero is the framework goctl serves.
- Protocol Buffers and gRPC are part of the RPC generation workflow.
- mcp-zero, ai-context, and zero-skills are related go-zero projects for AI-assisted framework-compliant development.

### 来源

- <https://api.github.com/repos/zeromicro/go-zero>
- <https://api.github.com/repos/zeromicro/go-zero/releases>
- <https://github.com/zeromicro/go-zero>
- <https://github.com/zeromicro/go-zero/releases>
- <https://go-zero.dev/getting-started/>
- <https://go-zero.dev/reference/cli-guide/>


## 安全说明

broad file, network, media, or database tool signal.

- **Geiger 风险:** blue / 中
- broad file, network, media, or database tool signal

## 其他软件包管理器记录

- Nix - goctl: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/goctl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/goctl.yml](https://github.com/mxcl/pkgdb/blob/main/combined/goctl.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
