Skip to content

Integralist/test-go-binary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

test-go-binary

With no git tags:

NOTE: Unless mentioned, the go.mod module name is github.com/integralist/test-go-binary.

$ go install github.com/integralist/test-go-binary@latest

go: downloading github.com/integralist/test-go-binary v0.0.0-20240216133252-d29459c6bbac

$ file ~/go/bin/test-go-binary

/Users/integralist/go/bin/test-go-binary: Mach-O 64-bit executable arm64

With a single v1 git tag:

$ go install github.com/integralist/test-go-binary@v1

go: github.com/integralist/test-go-binary@v1: no matching versions for query "v1"

$ go install github.com/integralist/test-go-binary@v1.0.0

go: github.com/integralist/test-go-binary@v1.0.0: github.com/integralist/test-go-binary@v1.0.0: invalid version: unknown revision v1.0.0

With a v1.0.0 git tag:

$ go install github.com/integralist/test-go-binary@latest

go: downloading github.com/integralist/test-go-binary v1.0.0

NOTE: Wait for pkg.go.dev/github.com/integralist/test-go-binary (here's the v1.0.0 which takes a while to be published).

With a v2.0.0 git tag:

$ go install github.com/integralist/test-go-binary@latest

# no output

$ go install github.com/integralist/test-go-binary@v2.0.0

go: github.com/integralist/test-go-binary@v2.0.0: github.com/integralist/test-go-binary@v2.0.0: invalid version: module contains a go.mod file, so module path must match major version ("github.com/integralist/test-go-binary/v2")

It seems to install the previous version, which was the v1.0.0 tag.

But when explicitly requesting v2.0.0 it tells me the go module name should be updated to reflect the major version change (as v1.x.x doesn't require a v1 in the module name). This error would also indicate why (no matter how long you wait) the test-go-binary@v2.0.0 never works (you need a test-go-binary/v2 path instead).

With a v2.0.0 git tag + go module name now including /v2:

NOTE: You need pkg.go.dev/github.com/integralist/test-go-binary/v2

$ go install github.com/integralist/test-go-binary/v2@latest

Reference

About

Validating how `go install` works across major releases

Resources

Stars

Watchers

Forks

Packages

No packages published