Avatar ·

Como instalar uma versão específica de um pacote Go usando go get?

Olá a todos! Sou novo em Go e estou tentando entender o gerenciamento de dependências. Tenho um projeto que usa a biblioteca github.com/gorilla/mux. Na última versão (v1.8.0), ocorreram mudanças críticas que quebram meu código. Preciso instalar exatamente a versão v1.7.4, com a qual tudo funcionava de forma estável. Tentei escrever go get github.com/gorilla/mux@v1.7.4, mas recebo o erro: go: github.com/gorilla/mux@v1.7.4: invalid version: unknown revision v1.7.4. Também tentei go get github.com/gorilla/mux v1.7.4 e go get github.com/gorilla/mux#v1.7.4 — também não funcionou. Estou usando Go 1.18, com módulos habilitados (GO111MODULE=on). Meu arquivo go.mod é: module myapp go 1.18 require github.com/gorilla/mux v1.8.0 Quero substituir v1.8.0 por v1.7.4. Como especificar a versão corretamente? Preciso remover a versão atual primeiro? Ou existe uma sintaxe especial para go get? Agradeço por uma explicação detalhada com exemplos. Também tenho interesse em saber: como descobrir quais versões de um pacote estão disponíveis? E se