OK I think I have cracked it!

I needed a *go.mod* file in the root path. 
module github.com/mygit/webserver

go 1.13

This basically means that the *go.mod* file in examples can find a *go.mod* 
file at ../ 
replace github.com/mygit/webserver => ../

The clue was in the error message from earlier.

The only thing I missed was that when you do:
go mod init <name>

The <name> must be the module name *'github.com/mygit/webserver'* not the 
go file name.

While in example the <name> is the application (main) name --> 
*webserver.go*.

I can see the logic for this but I do not think the distinction is clear in 
the documentation.

*I think it's: *
If your going to code something that will be imported use the github.
*com/x/y* for the name. If its an application that is importing then use 
the application name.

Please correct me if I am wrong.


Thanks every one for you contributions. I am back to coding :-) 



On Monday, 23 September 2019 16:25:30 UTC+1, Stuart Davies wrote:
>
> Hi. 
>
>
> I have been using GO for about a year and I love the language and ideas 
> behind the language. I am also a Java developer for many years, I switched 
> from Delphi to Java 1, the new and exciting language from Sun (a bit like 
> GO is now from Google).
>
>  
>
> In Java we have Maven and Gradle (sorry Ant) to make dependency hell more 
> manageable so I understand the need for modules in Go. I have just 
> installed GO 1.13 and thought I would convert an existing 'pet' project to 
> use modules. It did NOT go well!
>
>  
>
> What I need is a dummies guide to the GO module so I can build good, 
> reliable, standards compliant GO applications.
>
>  
>
> I needs to explain the new terminology in the context of a module, like 
> 'vendor'.  Not just a one liner, I NEED to understand! 
>
>  
>
> I know how to use Google but the quality of the articles I have read on 
> this subject is minimal and just brushes the surface.
>
>  
>
> If I have a reasonably large and complex (pet) project with local packages 
> in it. I like to split my project in to small units with 'namespaces' to 
> keep it manageable. These are NOT reusable components until I decide they 
> qualify and publish on Github.
>
>    - Why MUST I import them as if they are from github and then 'replace' 
>    them, and if I don’t 'MUST' then you have failed to explain this feature 
> to 
>    me!
>    - My local packages are part of my application. They are, I agree 
>    still 'dependencies' but they are not 'DEPENDENCIES' that I need (or even 
>    want) to import from a repository. They are part of my project.
>    - What if I do not want to host my project on a GIT repo (Shock 
>    horror!). 
>    - Why do all imports start with github.com. Is that a requirement, 
>    what is the rational for this. 
>    - How does a 'import' resolve its 'reference'. 
>    - Should I add the go.mod and go.sum files to my repository or should 
>    the developer who cloned my project have to do a go mod init (bummer!).
>    
> *Can someone please explain, properly!* 
>
> We must have Modules and Repositories (like Maven Central) for the 
> 'Enterprise' to manage dependencies but what about 'keep it simple' for the 
> rest of us (and for that matter more mature enterprise developers like 
> myself).
>
>  
>
> Please help me get this understood. This is the sort of thing that can 
> raise a language above the rest and I would really like that to happen. Go 
> is brilliant…
>
>  
>
> Regards
>
>  
>
> Stuart
>

-- 
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/94ac77f6-2b88-4c05-a8e1-6bf70252468d%40googlegroups.com.

Reply via email to