github.com/go-swagger/go-swagger@v0.31.0/docs/install/install-source.md (about) 1 --- 2 title: Install from source 3 date: 2023-01-01T01:01:01-08:00 4 draft: true 5 weight: 20 6 description: Installation instructions for go-swagger, from source 7 --- 8 ## Installing from source 9 10 ### `go install` 11 If you have `go` version `{{< param goswagger.goVersion >}}` or greater installed, `go-swagger` can be installed by running: 12 13 ```sh 14 go install github.com/go-swagger/go-swagger/cmd/swagger@latest 15 ``` 16 17 ## Alternative methods 18 19 #### Using a released source tarball 20 21 [![GitHub Downloads (all assets, latest release)](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.github.com%2Frepos%2Fgo-swagger%2Fgo-swagger%2Freleases%2Flatest&label=Latest%20tarball&query=%24.tarball_url)](https://github.com/go-swagger/go-swagger/releases/latest) 22 23 ```sh 24 dir=$(mktemp -d) 25 download_url=$(curl -s https://api.github.com/repos/go-swagger/go-swagger/releases/latest | \ 26 jq -r '.tarball_url') 27 28 curl -o $dir/swagger -L'#' "$download_url" 29 cd "$dir" 30 tar xf swagger 31 cd go-swagger* 32 go install ./cmd/swagger 33 ``` 34 35 #### `git clone` 36 37 Install or update from current source master: 38 39 ```sh 40 dir=$(mktemp -d) 41 git clone https://github.com/go-swagger/go-swagger "$dir" 42 cd "$dir" 43 go install ./cmd/swagger 44 ``` 45 46 To install a specific version from source an appropriate tag needs to be checked out first (e.g. `{{< param goswagger.latestRelease >}}`). Additional `-ldflags` are just to make `swagger version` command print the version and commit id instead of `dev`. 47 48 ```sh 49 dir=$(mktemp -d) 50 git clone https://github.com/go-swagger/go-swagger "$dir" 51 cd "$dir" 52 git checkout {{< param goswagger.latestRelease >}} 53 go install -ldflags "-X github.com/go-swagger/go-swagger/cmd/swagger/commands.Version=$(git describe --tags) -X github.com/go-swagger/go-swagger/cmd/swagger/commands.Commit=$(git rev-parse HEAD)" ./cmd/swagger 54 ```