air-verse / air

☁️ Live reload for Go apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

image
should be fixed. I've tested in docker container.

PLS use go install github.com/air-verse/air@latest
I'll let this issue open, if u have any problem.

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?