Cannot `go install github.com/air-verse/air@latest`
nevinsm opened this issue · comments
It looks like a new tag hasn't been added yet so when go grabs latest it is the old version and it errors out.
Error message:
go: downloading github.com/air-verse/air v1.52.1
go: github.com/air-verse/air@latest: version constraints conflict:
github.com/air-verse/air@v1.52.1: parsing go.mod:
module declares its path as: github.com/cosmtrek/air
but was required as: github.com/air-verse/air
I just release a new version, should be fixed
still have issue , so i revert the PR
+1 seeing this as well
+1 seeing this as well
I just revert the PR, still have issue?
+1 seeing this as well
I just revert the PR, still have issue?
Yep, I'm still having the same error.
The error disappears if use go install github.com/air-verse/air@latest
instead of go install github.com/cosmtrek/air@latest
as in the documentation.
just use the document one. at end of the day, i will update the document.
Currently, I can't install github.com/cosmtrek/air
、 but will the module name be github.com/air-verse/air
in the end?
I want to know which one it will be.
will be github.com/air-verse/air in the end.
For me, I had to replace github.com/cosmtrek/air@latest
with github.com/air-verse/air@latest
in my Docker Compose, as the URL github.com/cosmtrek/air
redirects to github.com/air-verse/air
This change broke all past versions of air as it's no longer possible to go install
anything but the latest version where module path matches repo path. Go module system is broken by design 🤮.
A proper fix for this will require some git history rewriting. The go module system is designed to be stable so changing the name like this will cause these expected integrity issues. You will need to rewrite references in all the commits so that all tags have the new github.com/air-verse/air
instead of github.com/cosmtrek/air
for module references. The same with the runner references and any other submodules.
e.g.
v1.49.0 https://github.com/air-verse/air/blob/v1.49.0/go.mod#L1
should look like v1.52.2 https://github.com/air-verse/air/blob/v1.52.2/go.mod
Should be doable with git filter-repo --replace-text <(echo 'github.com/cosmtrek/air==>github.com/air-verse/air')
. Be aware that rewriting git history can have seriously bad side effects.
It might be better to leave v1 up at github.com/cosmtrek/air and make air-verse/air the v2 release with the original repo archived instead of redirecting. Either way the git history will need some love and the project overall will be in a messy state until this is resolved.
FWIW My personal preference for how to handle this would be to archive and leave up the original repository with a note that it is deprecated and moved here. Start this one fresh with a commit that changes the names and then tag it as v2.0.0 to reflect the breaking change. You lose the old git history, but then the bifurcation is clean at least. If you want to keep the history, delete the old tags off of this repo.
I got this error. Any update?