That's an entirely different issue. The module name in go.mod in both the module itself and any other module that will use the first module has to be a valid URL where the code is hosted, or in your case where you can setup another server (on port 80) with a <meta .../> tag.
I was looking to avoid the tight coupling. On Tuesday, September 7, 2021 at 2:14:18 PM UTC-6 jayc...@google.com wrote: > The module path needs to be part of a valid URL, but it doesn't have to be > the same as the repository URL. That's what my golang.org/x/mod example > was meant to demonstrate. The repository is hosted on a different domain. > > On Tue, Sep 7, 2021 at 1:05 PM Dean Schulze <dean.w....@gmail.com> wrote: > >> Your first paragraph seems to say "no" to my question. But then this >> seems to say "yes" to my question >> >> "In short, the go command needs to be able to form a valid URL from the >> module path," >> >> In my experience it is a definite yes. >> >> On Tuesday, September 7, 2021 at 1:51:16 PM UTC-6 jayc...@google.com >> wrote: >> >>> The module path doesn't need to match the repo URL, but if other modules >>> depend on your module, then the go command needs to be able to find your >>> repository given your module path. >>> >>> The lexical constraints for module paths are documented at >>> https://golang.org/ref/mod#go-mod-file-ident. In short, the go command >>> needs to be able to form a valid URL from the module path, so only certain >>> characters may be used, there must be a dot in the first path element and >>> so on. >>> >>> The go command looks up the repository location by sending a GET request >>> to https://<module-path>?go-get=1. It looks for an HTML response with a >>> meta tag that says where the module is located. For example, for the module >>> golang.org/x/mod, the go command will request >>> https://golang.org/x/mod?go-get=1 and will get a response with: >>> >>> <meta name="go-import" content="golang.org/x/mod git >>> https://go.googlesource.com/mod"> >>> >>> >>> That says the module is in a Git repository at >>> https://go.googlesource.com/mod. >>> >>> That process is explained at https://golang.org/ref/mod#vcs-find. >>> There's a special case for GitHub module paths, so if your module is hosted >>> there, you don't need to stand up a server for that URL. Also, if a path >>> component ends with ".git", ".hg", etc, the go command will use everything >>> up to there as the repository URL without performing the lookup. >>> >>> >>> On Tue, Sep 7, 2021 at 12:34 PM Dean Schulze <dean.w....@gmail.com> >>> wrote: >>> >>>> If you are going to publish a Go module does the module name have to >>>> include the repo name? I couldn't find this documented anywhere but >>>> through trial and error I've discovered that it is required. >>>> >>>> I named my module like this and published it to github: >>>> >>>> *module key-value-mod* >>>> >>>> In another module I declared it to be a dependency >>>> >>>> *require github.com/dwschulze/key-value-mod >>>> <http://github.com/dwschulze/key-value-mod> v0.1.0* >>>> >>>> When I ran *go get* I got this error: >>>> >>>> *$ go get github.com/dwschulze/key-va...@v0.1.0 >>>> <http://github.com/dwschulze/key-value-mod@v0.1.0>* >>>> *go: github.com/dwschulze/key-va...@v0.1.0 >>>> <http://github.com/dwschulze/key-value-mod@v0.1.0>: parsing go.mod:* >>>> * module declares its path as: key-value-mod* >>>> * but was required as: >>>> github.com/dwschulze/key-value-mod >>>> <http://github.com/dwschulze/key-value-mod>* >>>> >>>> I changed the module's name to include the repo (and retagged that >>>> commit and pushed both) >>>> >>>> *module github.com/dwschulze/key-value-mod >>>> <http://github.com/dwschulze/key-value-mod>* >>>> >>>> and then it worked. >>>> >>>> This is a private repo if that makes any difference. >>>> >>>> I also discovered that when you have module problems like this you have >>>> to clear the mod cache or you end up getting the same error over and over >>>> again. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "golang-nuts" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to golang-nuts...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/golang-nuts/d7c5cc18-6c54-4379-92fe-f313a2c5bc01n%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/golang-nuts/d7c5cc18-6c54-4379-92fe-f313a2c5bc01n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golang-nuts...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/64f091c8-21be-4106-b7c7-07a0a55b01fan%40googlegroups.com >> >> <https://groups.google.com/d/msgid/golang-nuts/64f091c8-21be-4106-b7c7-07a0a55b01fan%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/326ad41f-8b57-481f-b884-3fcd2a3c7c0en%40googlegroups.com.