|
|
|
|
|
by atombender
2549 days ago
|
|
The official wiki is good: https://github.com/golang/go/wiki/Modules This article looks like a good intro: https://roberto.selbach.ca/intro-to-go-modules/ The equivalent of "npm install" is "go get" (optionally "-u"). You can also edit go.mod manually. Like NPM, this must be done within an application's root. A point of confusion might be the difference between a module and a package. A package is just a folder that declares "package foo" at the top in all its Go files. A module is the closest analogue to an NPM package. Similar to NPM, a single Git repo can contain many nested modules. Unlike NPM, modules can be imported with Git -- no need to publish to a special registry. When a Go file imports a package, the referenced package might live in a module outside your own. It knows it's outside your module because go.mod defines the full root path (e.g. github.com/foo/bar/baz) of your module. You might experience some confusion when you look at how the new module system interacts with the old GOPATH way. Go current supports both modes. |
|