IMPORTANT NOTE: go-swagger is a tool to mainly generate or analyze source code. In order to make it work after successful installation, see the prerequisites on your development environment.

Installing from binary distributions

go-swagger releases are distributed as binaries that are built from signed tags. It is published as github release, rpm, deb and docker image.

Docker image Docker Repository on Quay

First grab the image:

docker pull

For Mac And Linux users:

alias swagger='docker run --rm -it  --user $(id -u):$(id -g) -e GOPATH=$(go env GOPATH):/go -v $HOME:$HOME -w $(pwd)'
swagger version

For windows users:

docker run --rm -it --env GOPATH=/go -v %CD%:/go/src -w /go/src

You can put the following in a file called swagger.bat and include it in your path environment variable to act as an alias.

@echo off
docker run --rm -it --env GOPATH=/go -v %CD%:/go/src -w /go/src %*


brew tap go-swagger/go-swagger
brew install go-swagger

Static binary

You can download a binary for your platform from github:

download_url=$(curl -s | \
  jq -r '.assets[] | select(.name | contains("'"$(uname | tr '[:upper:]' '[:lower:]')"'_amd64")) | .browser_download_url')
curl -o /usr/local/bin/swagger -L'#' "$download_url"
chmod +x /usr/local/bin/swagger

Debian packages Download

This repo will work for any debian, the only file it contains gets copied to /usr/bin

without sudo:

apt update
apt install -y apt-transport-https gnupg curl
curl -1sLf '' | apt-key add -
curl -1sLf '' > /etc/apt/sources.list.d/go-swagger-go-swagger.list
apt update 
apt install swagger

with sudo:

sudo apt update
sudo apt install -y apt-transport-https gnupg curl
curl -1sLf '' | sudo apt-key add -
curl -1sLf '' | sudo tee /etc/apt/sources.list.d/go-swagger-go-swagger.list
sudo apt update 
sudo apt install swagger

RPM packages Download

This repo should work on any distro that wants rpm packages, the only file it contains gets copied to /usr/bin

dnf install -y yum-utils
rpm --import ''
curl -1sLf '' > /tmp/go-swagger-go-swagger.repo
dnf config-manager --add-repo '/tmp/go-swagger-go-swagger.repo'
dnf -q makecache -y --disablerepo='*' --enablerepo='go-swagger-go-swagger' --enablerepo='go-swagger-go-swagger-source'
dnf install -y swagger

Installing from source

Install or update from current source master:

dir=$(mktemp -d) 
git clone "$dir" 
cd "$dir"
go install ./cmd/swagger

To install a specific version from source an appropriate tag needs to be checked out first (e.g. v0.25.0). Additional -ldflags are just to make swagger version command print the version and commit id instead of dev.

dir=$(mktemp -d)
git clone "$dir" 
cd "$dir"
git checkout v0.25.0
go install -ldflags "-X$(git describe --tags) -X$(git rev-parse HEAD)" ./cmd/swagger

You are welcome to clone this repo and start contributing:

git clone

NOTE: go-swagger works on *nix as well as Windows OS

results matching ""

    No results matching ""