pkg.soopen package index

brew / rank 1367

Install protoc-gen-go with Homebrew, apk, apt, Nix, zypper, dnf

Go support for Google's protocol buffers. Version 1.36.12 via Homebrew; verified 2026-09-13. Also installable with debian: sudo apt install protoc-gen-go.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install protoc-gen-go

local Homebrew formula metadata

Linux

Alpine Linux apkverified · 92%
sudo apk add protoc-gen-go

Alpine Linux edge package indexes · protoc-gen-go · source: dl-cdn.alpinelinux.org

Debian aptverified · 92%
sudo apt install protoc-gen-go

Debian stable package indexes · protoc-gen-go · source: deb.debian.org

Nixverified · 92%
nix profile install nixpkgs#protoc-gen-go

nixpkgs package indexes · pkgs/by-name/pr/protoc-gen-go/package.nix · source: api.github.com

openSUSE zypperverified · 92%
sudo zypper install protoc-gen-go

openSUSE Tumbleweed package metadata · protoc-gen-go · source: download.opensuse.org

Fedora dnfverified · 92%
sudo dnf install golang-google-protobuf

Fedora Rawhide package metadata · golang-google-protobuf · source: dl.fedoraproject.org

overview

Package summary

Go support for Google's protocol buffers

Commands and aliases

  • protoc-gen-go

history

Project history and usage

protoc-gen-go is the official Protocol Buffers compiler plugin for generating Go message types and supporting code from .proto schemas. It belongs to the google.golang.org/protobuf implementation and is distinct from the gRPC-specific Go generator.

Project history

Go's first Protocol Buffer bindings were announced in March 2010 and included both a protoc code-generation plugin and a Go runtime package.

On 2 March 2020, the Go team released google.golang.org/protobuf as APIv2, a major overhaul adding first-class protobuf reflection, dynamic messages, improved testing support, and a cleaned-up API surface. protoc-gen-go is the compiler plugin within that module.

On 16 December 2024, the Go team announced the Opaque generated-code API. The established Open Struct API remained supported, allowing users to migrate without an abrupt removal of existing generated-code behavior.

Adoption history

The Go protobuf bindings grew alongside Go from their initial pre-Go-1 form into a widely used serialization foundation. The 2020 APIv2 module allowed gradual adoption by making the older APIv1 module interoperate with the new implementation.

The generator is packaged across Homebrew and multiple Linux-oriented package managers in source_facts.package-manager, while upstream recommends installation with go install. It is routinely used by Go projects that exchange protobuf messages or combine message generation with gRPC service generation.

How it is used

Install the plugin with go install, ensure it is on PATH, and invoke protoc with --go_out plus any --go_opt values. Each generated Go package needs an import path, usually supplied through the .proto file's go_package option; output placement can be import-path-based or source-relative. The tool uses command-line options and schema declarations rather than a documented persistent config or credentials file.

Why package nerds care

protoc-gen-go sits at the boundary between a language-neutral schema compiler and Go's module ecosystem. Generator version, runtime-library version, import-path mapping, and generated-code API selection can materially affect reproducibility and compatibility.

The 2020 APIv2 migration and the later Opaque API illustrate how a mature code generator can evolve representation and reflection behavior while retaining compatibility paths for existing generated code.

Timeline

  • 2010: The first Go Protocol Buffer bindings and compiler plugin were announced.
  • 2020: google.golang.org/protobuf APIv2 was released with a redesigned runtime and generator ecosystem.
  • 2024: The Opaque generated-code API was announced while the Open Struct API remained supported.

Related projects

  • protoc is the Protocol Buffers compiler that discovers and invokes protoc-gen-go.
  • google.golang.org/protobuf is the generator's accompanying Go runtime and reflection module.
  • protoc-gen-go-grpc separately generates gRPC client and server bindings from service declarations.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
protoc-gen-gocliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-09-19
manager version1.36.12
manager updated2026-09-13
local dataok
upstreamcurrent
latest detectedv1.36.12

https://github.com/protocolbuffers/protobuf-go

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:protoc-gen-go
Version1.36.12
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/protoc-gen-go
Homepagehttps://github.com/protocolbuffers/protobuf-go
Repositoryhttps://github.com/protocolbuffers/protobuf-go
LicenseBSD-3-Clause
Source archivehttps://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.36.12.tar.gz
Last updated2026-09-13T09:40:44+02:00
Pulseupdated
Dependenciesprotobuf
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameprotoc-gen-go
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

protoc-gen-go 1.36.5-1

Go plugin for protobuf compiler (APIv2)

https://github.com/protocolbuffers/protobuf-go

sudo apt install protoc-gen-go
  • Section: devel
  • Architecture: amd64
  • Source Package: golang-google-protobuf
  • 2 dependencies
  • normalized package name match
  • Matched by: Protoc Gen Go
Debian stable package indexes · deb.debian.org · Debian stable package indexes: protoc-gen-go from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

protoc-gen-go

nix profile install nixpkgs#protoc-gen-go
  • normalized package name match
  • Matched by: Protoc Gen Go
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/pr/protoc-gen-go/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
Ubuntu apt95%

protoc-gen-go 1.32.0-1

Go plugin for protobuf compiler (APIv2)

https://github.com/protocolbuffers/protobuf-go

sudo apt install protoc-gen-go
  • Section: universe/devel
  • Architecture: amd64
  • Source Package: golang-google-protobuf
  • 2 dependencies
  • normalized package name match
  • Matched by: Protoc Gen Go
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: protoc-gen-go from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
apk95%

protoc-gen-go 1.36.11-r6

Protocol Buffers Go generator

https://github.com/protocolbuffers/protobuf-go

sudo apk add protoc-gen-go
  • License: BSD-3-Clause
  • Architecture: x86_64
  • Source Package: protoc-gen-go
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Protoc Gen Go
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: protoc-gen-go from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
dnf95%

golang-google-protobuf 1.31.0-16.fc45

Go support for Google's protocol buffers

https://github.com/protocolbuffers/protobuf-go

sudo dnf install golang-google-protobuf
  • License: BSD-3-Clause
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: golang-google-protobuf
  • 3 dependencies
  • 3 provides
  • normalized package name match
  • Matched by: Protoc Gen Go
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: golang-google-protobuf from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/652278618dec9c023176a80c435a32a2c8154869fb0eb662c267a54df28d77d9-primary.xml.zst
zypper95%

protoc-gen-go 1.34.2-1.9

Go support for Google's protocol buffers

https://github.com/golang/protobuf

sudo zypper install protoc-gen-go
  • License: BSD-3-Clause
  • Category: Development/Languages/Go
  • Architecture: x86_64
  • Source Package: protoc-gen-go
  • 1 provides
  • normalized package name match
  • Matched by: Protoc Gen Go
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: protoc-gen-go from https://download.opensuse.org/tumbleweed/repo/oss/repodata/d310d5a96106e1e8872a385adf98aaa23be9db5d80937a6717314e7e7f37715065c6c748ab7ccee6475d620b46979c0fe64235fc0c46988e17edf659578fcf31-primary.xml.zst

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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