# Install gopls with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

Language server for the Go language. Version 0.22.0 via Homebrew; verified 2026-05-18.

## Install

```sh
sudo av install brew:gopls
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gopls
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gopls
```

  Evidence: MacPorts ports tree: devel/gopls/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add gopls
```

  Evidence: Alpine Linux edge package indexes: gopls from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install gopls
```

  Evidence: Debian stable package indexes: gopls from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install gopls
```

  Evidence: Fedora Rawhide package metadata: gopls from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#gopls
```

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

- pacman (92%):

```sh
sudo pacman -S gopls
```

  Evidence: Arch Linux sync databases: gopls from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install gopls
```

  Evidence: openSUSE Tumbleweed package metadata: gopls from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:gopls
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gopls>
- **Version:** 0.22.0
- **Source summary:** Language server for the Go language
- **Homepage:** <https://github.com/golang/tools/tree/master/gopls>
- **Repository:** <https://github.com/golang/tools>
- **Upstream docs:** <https://github.com/golang/tools/tree/master/gopls#readme>
- **License:** BSD-3-Clause
- **Source archive:** <https://github.com/golang/tools/archive/refs/tags/gopls/v0.22.0.tar.gz>
- **Last updated:** 2026-05-18T21:24:56Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gopls (cli)
- gopls (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.22.0
- Package-manager updated: 2026-05-18
- Local data: ok
- Upstream repository: https://github.com/golang/tools
- Upstream latest detected: gopls/v0.22.0 (current)
## Project history and usage

gopls, pronounced go please, is the official Go language server developed by the Go team. It made Go editor support less dependent on one editor plugin by concentrating language intelligence behind the Language Server Protocol.

### Project history

gopls lives in the Go project's x/tools repository, the long-running home for Go analysis and developer tooling outside the main Go distribution. The gopls module appears as `golang.org/x/tools/gopls` and is documented on go.dev as the official language server for Go.

The project emerged during the Go modules era, when editor tooling needed to understand module-aware package loading, workspaces, diagnostics, code actions, and analysis across a changing build environment. Early tagged gopls releases in the tools repository begin with the `gopls/v0.2.x` series.

Over time, gopls moved from editor helper to a central Go development service. Its documentation covers editor-specific setup, LSP features, workspace behavior, analyzers, design notes, troubleshooting, and release notes.

### Adoption history

The Go FAQ describes gopls as the Go team's supported language server for LSP-capable tools. That endorsement turned gopls into the default backend for many editors rather than a niche optional package.

Package-manager adoption is broad for a Go developer tool: the input facts list packages across Homebrew, Debian, Ubuntu, Fedora, Arch, Alpine, MacPorts, Nix, and openSUSE. That spread reflects its role as infrastructure for editors and CI-style tooling rather than a command users run manually every day.

Go telemetry planning has treated LSP-capable editors using gopls as a major part of the Go tool ecosystem, which is another sign that gopls became part of ordinary Go development workflows.

### How it is used

Most users do not invoke gopls directly. Editors start it automatically to provide completion, hover, go-to-definition, diagnostics, formatting support, semantic tokens, code actions, references, and workspace operations.

Power users and editor maintainers use the documented settings, feature index, workspace documentation, and design notes to tune behavior or integrate gopls with less common LSP clients.

The gopls release documentation also shows it absorbing newer workflow surfaces, including an experimental MCP server mode in the v0.20.0 release line.

### Why package nerds care

gopls is one of the clearest examples of a package-manager formula that is not an end-user app in the traditional sense but a local editor daemon. Installing it makes other tools work better.

It also matters because it centralizes Go-specific analysis in a versioned Go module. Package maintainers have to care about Go toolchain compatibility, editor compatibility, and x/tools release cadence, not just a single executable.

For Go ecosystem nerds, gopls marks the shift from editor-specific Go integrations such as gocode-era completion toward a shared language-server backend maintained by the Go project.

### Timeline

- 2014: golang/tools repository created as the Go tools mirror.
- 2019: Early gopls tags appear in the x/tools repository.
- 2019: Go 1.13 makes module-aware workflows the default context for many Go developers.
- 2020s: go.dev publishes dedicated gopls documentation, editor guides, feature docs, and design notes.
- 2024: Go telemetry planning explicitly discusses LSP-capable editors that use gopls.
- 2025: gopls v0.20.0 release notes document experimental MCP server support.

### Related projects

- golang.org/x/tools contains gopls and related Go developer tools such as goimports and stringer.
- The Language Server Protocol defines the editor-server boundary that gopls implements.
- The Go module system and proxy infrastructure shape how gopls loads and analyzes workspaces.

### Sources

- <https://github.com/golang/tools/tree/master/gopls>
- <https://go.dev/blog/gotelemetry>
- <https://go.dev/doc/faq>
- <https://go.dev/gopls/>
- <https://go.dev/gopls/release/v0.20.0>
- <https://go.dev/ref/mod>
- <https://pkg.go.dev/golang.org/x/tools/gopls>


## Security Notes

No matching local secret-handling manifest was found for gopls. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gopls
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - gopls - 2:0.16.1+ds-1: normalized package name match | Debian stable package indexes: gopls from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | language server for the Go language | https://golang.org/x/tools
- Nix - gopls: normalized package name match | nixpkgs package indexes: pkgs/by-name/go/gopls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - gopls - 1:0.18.0+ds-1: normalized package name match | Ubuntu 24.04 LTS package indexes: gopls from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | language server for the Go language | https://golang.org/x/tools
- apk - gopls - 0.21.1-r3: normalized package name match | Alpine Linux edge package indexes: gopls from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Language server for Go programming language | https://github.com/golang/tools/blob/master/gopls
- dnf - gopls - 0.18.1-2.fc43: normalized package name match | Fedora Rawhide package metadata: gopls from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | gopls, the Go language server | https://github.com/golang/tools
- pacman - gopls - 0.22.0-1: normalized package name match | Arch Linux sync databases: gopls from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Language server for Go programming language | https://github.com/golang/tools/tree/master/gopls
- zypper - gopls - 0.22.0-1.1: normalized package name match | openSUSE Tumbleweed package metadata: gopls from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Go LSP protocol language server | https://pkg.go.dev/golang.org/x/tools/gopls
- MacPorts - gopls: normalized package name match | MacPorts ports tree: devel/gopls/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [goimports](https://www.automicvault.com/pkg/brew/goimports/) - Shares the same upstream source repository.
- [jq-lsp](https://www.automicvault.com/pkg/brew/jq-lsp/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [python-lsp-server](https://www.automicvault.com/pkg/brew/python-lsp-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [zls](https://www.automicvault.com/pkg/brew/zls/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [ansible-language-server](https://www.automicvault.com/pkg/brew/ansible-language-server/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.
- [codebook-lsp](https://www.automicvault.com/pkg/brew/codebook-lsp/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [dhall-lsp-server](https://www.automicvault.com/pkg/brew/dhall-lsp-server/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [efm-langserver](https://www.automicvault.com/pkg/brew/efm-langserver/) - Shares av.db curated category or tags: cli, developer-tools, editor-integration, language-server, lsp.
- [expert](https://www.automicvault.com/pkg/brew/expert/) - Shares av.db curated category or tags: cli, developer-tools, language-server, lsp.

## Combined YAML source

View the package source record on GitHub. [combined/gopls.yml](https://github.com/automic-vault/db/blob/main/combined/gopls.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
