Sou bastante novo no uso do Go e percebi que, ao construir o projeto Go, clonei do GitHub por meio de:
$ go build
O executável é compilado, mas quando executo:
$ mediamtx --version
Eu recebo v0.0.0
Pesquisei o problema no Google e descobri que poderia definir o parâmetro Idflags para definir a versão na compilação, então tentei:
go build -ldflags="-X 'github.com/bluenviron/mediamtx/internal/core.Version=v1.5.0'"
Infelizmente, acabei com exatamente o mesmo problema eBandeiras de identificaçãoparece não fazer nada, sem erros, o executável ainda é compilado. Eu tentei excluir e começar novamente de umclonee executando o comando comsudo, não consegui fazê-lo funcionar e não tenho certeza do que estou fazendo de errado. Isso é o que estou tentandová construircomBandeiras de identificação:
Este é o conteúdo do meu main.go que eu consegui para o GitHub incluir no meuBandeiras de identificaçãodiretiva
// main executable.
package main
import (
"os"
"github.com/bluenviron/mediamtx/internal/core"
)
func main() {
s, ok := core.New(os.Args[1:])
if !ok {
os.Exit(1)
}
s.Wait()
}
Responder1
A resposta é que o parâmetro "versão" em Idflags diferencia maiúsculas de minúsculas. Eu estava usando um V "Versão" maiúsculo quando deveria estar usando um v "versão" minúsculo
go build -ldflags="-X 'github.com/bluenviron/mediamtx/internal/core.version=v1.5.0'"
é o comando CLI correto
Sua melhor referência para corrigir isso é consultar seu arquivo core.go para encontrar a declaração da variável de versão:
~/mediamtx/internal/core/ [main] vi core.go
No meu caso, a variável version foi definida como:
var version = "v0.0.0"
O problema agora está resolvido e:
mediamtx --version
Agora produz:
v1.5.0