go-sqlite3: Retract "Incompatible versions" of this package
According to https://pkg.go.dev/github.com/mattn/go-sqlite3?tab=versions , there are 4 “Incompatible versions” of this package.
because of these,
-
In my project, I
go get
the latest release of this packagego get github.com/mattn/go-sqlite3@v1.14.8
-
But when I run some commands like
go mod tidy
orgo mod vendor
, Go modules automatically updatesgo.mod
like this:github.com/mattn/go-sqlite3 v2.0.3+incompatible
which is what I don’t want, because according to the README,
Latest stable version is v1.14 or later not v2.
NOTE: The increase to v2 was an accident. There were no major changes or features.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 1
- Comments: 18 (8 by maintainers)
Commits related to this issue
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to bcmills/go-sqlite3 by deleted user 2 years ago
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to mattn/go-sqlite3 by deleted user 2 years ago
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to mattn/go-sqlite3 by mattn 2 years ago
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to mattn/go-sqlite3 by mattn 2 years ago
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to mattn/go-sqlite3 by deleted user 2 years ago
- Retract +incompatible releases (For #965.) This retraction will take effect when this commit is included in the latest v1 release (presumably v1.14.11). — committed to semrekkers/go-sqlite3 by deleted user 2 years ago
@martinrode, when you run
go get github.com/mattn/go-sqlite3@v1.14.15
, it will downgrade other dependencies that require higher versions of that module until no higher version is required.If you just want to lop out those parts of the dependency graph, you can use an
exclude
directive:If you
exclude
all of the versions that have higher SemVer precedence than the version you do want, thengo get
will be able to select that version without performing other downgrades.@rittneje
Yeah, I guess that for v2.0.4 - v2.0.6 to be shown up on
pkg.go.dev
, some works will be required: https://blog.golang.org/v2-go-modules@mattn
@rittneje
I did some tests on https://play-with-go.dev/retract-module-versions_go116_en/ , and it seems that
+incompatible
versions can be retracted.→ In here, you can see that I tagged
v2.0.0
first, and thenv2.1.0
, and thenv1.14.8
for the last.→ In here, you can see that I retracted
v2.1.0
by writingretract v2.1.0
ingo.mod
.→ In here, you can see that
v2.1.0+incompatible
is retracted.So, my suggestion for the
go.mod
is:In addition to retracting a module, it is possible to deprecate it: https://golang.org/ref/mod#go-mod-file-grammar, “Deprecation” sub-header.
I think the ideal solution could be: