Install and verify the Go toolchain on macOS, Linux, and Windows. Use when Go is required but not present, or when a specific Go version must be installed. Prefer system package managers (homebrew, apt, etc.) and fall back to official Go downloads when needed.
Install or verify the Go toolchain with system package managers first, then fall back to official Go downloads when needed.
Canonical install and execution directory: ~/.agents/skills/go-installer/. Run commands from this directory:
cd ~/.agents/skills/go-installer
PATH is updated and confirm go version.go version
If the command is missing, continue to installation.
macOS (Homebrew):
brew install go
Linux (Debian/Ubuntu apt):
sudo apt update
sudo apt install -y golang-go
Linux (Fedora/RHEL/CentOS dnf):
sudo dnf install -y golang
Linux (RHEL/CentOS yum):
sudo yum install -y golang
Linux (Arch pacman):
sudo pacman -S --noconfirm go
Windows (winget):
winget install --id GoLang.Go -e
Windows (Chocolatey):
choco install -y golang
Use this when a specific version is required or no package manager is available.
Set the version explicitly (example uses Go 1.22.0):
GO_VER="go1.22.0"
GO_VER="go1.22.0"
ARCH="$(uname -m)"
case "${ARCH}" in
arm64) GO_ARCH="arm64" ;;
x86_64) GO_ARCH="amd64" ;;
*) echo "Unsupported arch: ${ARCH}"; exit 1 ;;
esac
TAR="${GO_VER}.darwin-${GO_ARCH}.tar.gz"
if command -v curl >/dev/null 2>&1; then
curl -LO "https://go.dev/dl/${TAR}"
else
wget -O "${TAR}" "https://go.dev/dl/${TAR}"
fi
rm -rf "${HOME}/.local/go"
mkdir -p "${HOME}/.local"
tar -C "${HOME}/.local" -xzf "${TAR}"
GO_VER="go1.22.0"
ARCH="$(uname -m)"
case "${ARCH}" in
aarch64) GO_ARCH="arm64" ;;
x86_64) GO_ARCH="amd64" ;;
*) echo "Unsupported arch: ${ARCH}"; exit 1 ;;
esac
TAR="${GO_VER}.linux-${GO_ARCH}.tar.gz"
if command -v curl >/dev/null 2>&1; then
curl -LO "https://go.dev/dl/${TAR}"
else
wget -O "${TAR}" "https://go.dev/dl/${TAR}"
fi
rm -rf "${HOME}/.local/go"
mkdir -p "${HOME}/.local"
tar -C "${HOME}/.local" -xzf "${TAR}"
$GoVer = "go1.22.0"
$Arch = $env:PROCESSOR_ARCHITECTURE
switch ($Arch) {
"ARM64" { $GoArch = "arm64" }
"AMD64" { $GoArch = "amd64" }
default { throw "Unsupported arch: $Arch" }
}
$Zip = "$GoVer.windows-$GoArch.zip"
Invoke-WebRequest -Uri "https://go.dev/dl/$Zip" -OutFile $Zip
if (Test-Path C:\Go) { Remove-Item -Recurse -Force C:\Go }
tar -C C:\ -xf $Zip
macOS/Linux (add to shell profile):
export PATH="$PATH:${HOME}/.local/go/bin"
Windows:
C:\Go\bin to the system PATH.go version
If the version still does not match, ensure the PATH order is correct and restart the shell.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer