01-golang.sh 812 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. set -e
  3. LATEST_GO=$(curl -sL https://go.dev/dl/?mode=json | jq -r '.[0].version')
  4. curl -L "https://go.dev/dl/${LATEST_GO}.linux-amd64.tar.gz" -o /tmp/go.tar.gz
  5. mkdir -p "$HOME"/.local
  6. rm -rf "$HOME"/.local/go
  7. tar -C "$HOME"/.local -xzf /tmp/go.tar.gz
  8. rm /tmp/go.tar.gz
  9. PATH="$HOME/.local/go/bin:$PATH"
  10. go env -w GOPATH="$HOME"/.local/state/go
  11. go install github.com/go-delve/delve/cmd/dlv@latest
  12. go install golang.org/x/tools/gopls@latest
  13. curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b "$(go env GOPATH)/bin"
  14. go install github.com/nametake/golangci-lint-langserver@latest
  15. mkdir -p "$HOME"/.bashrc.d
  16. echo "export PATH=\"$HOME/.local/go/bin:$(go env GOPATH)/bin:\$PATH\"" > "${HOME}"/.bashrc.d/go.sh
  17. echo hint: source "$HOME"/.bashrc.d/go.sh