Skip to content

Remove redundant dependency which doesn't let go get this #205

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Remove redundant dependency which doesn't let go get this #205

wants to merge 1 commit into from

Conversation

mjoork
Copy link

@mjoork mjoork commented Sep 7, 2021

go get right now fails:

$ go get github.com/revel/cmd
go get: github.com/revel/cmd@v0.21.1 updating to
	github.com/revel/cmd@v1.0.3 requires
	github.com/myesui/uuid@v1.0.0: reading github.com/myesui/uuid/go.mod at revision v1.0.0: unknown revision v1.0.0

Because that repository doesn't exist.

The correct one is already in go.mod:

cmd/go.mod

Line 20 in 3cec19e

github.com/twinj/uuid v1.0.0 // indirect

closes #203

(I think)

This repository doesn't exist since forever, github.com/twinj/uuid is its' new location, which is also an archived fork.
@brendensoares
Copy link
Member

Ok, after digging into this, I don't believe this is a viable solution.

indirect dependencies listed in go.mod are based on dependencies of dependencies. To find out why this indirect dependency exists, you can run:

go mod why github.com/myesui/uuid

and note that it originates from the Revel session id code which depends on another uuid package that depends on the missing package:

# github.com/myesui/uuid
github.com/revel/cmd/model
github.com/revel/cmd/model.test
github.com/revel/revel
github.com/revel/revel/session
github.com/twinj/uuid
github.com/twinj/uuid.test
github.com/myesui/uuid

So, the best solution would more likely be to use a package that is less likely to move in the future like github.com/google/uuid (minor revel session code refactor) or to vendor the dependency (we've done this for some time by forking repos to the revel github organization.

Thank you @mjoork for this effort. I will try to get this addressed along with some other breaking issues.

@brendensoares
Copy link
Member

A quick follow up note, because I wanted to make certain my findings were accurate. github.com/twinj/uuid@v1.0.0 refers to the old myesui/uuid which is cached on pkg.go.dev, but has no go.mod and therefore no matching v1.0.0 version tag.

Without knowing the whole truth, it seems myesui was renamed to bakanis as that is where the twinj repo is forked from. The user, twinj, likely tried to get their own dependent code working with a newer version of go that supported modules. Twinj likely overlooked the test file reference to a non-existent repo (which may have existed at the time that twinj created their fork's v1.0.0 tag).

Anyway, revel needs to vendor this dependency or use a more stable repo.

@mjoork
Copy link
Author

mjoork commented Feb 13, 2022

Yes, I initially also found exactly that. I didn't know of a better fix. Glad to see this getting fixed in the future. Thank you for the detailed information!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants