Understanding Private Module Dependencies
In Go modules, "dotless" paths like "mycompany/mylib" are reserved for the standard repository. This implies that for modules accessed through private repositories, domain names and projects should be bound.
All-or-Nothing Module Dependency Management
Go modules enforce an "all-or-nothing" approach. When using modules, all dependencies must be resolved using the module system (go get). The GOPATH becomes redundant except as a cache for downloaded modules.
Consequences for Iterating in Private Repositories
In the past, developers could develop libraries locally before committing changes. With modules, you have two options:
Case Study with Simplified Code
Your example code represents a common issue in transitioning from dep to Go modules. When GO111MODULE is set to "on," the error "cannot find module for path mycompany/mylib" occurs. This is because mylib is not yet a module.
Solution
To use a private repository for mylib as a dependency in myprogram:
Additional Considerations
The above is the detailed content of How Do I Manage Private Repository Dependencies with Go Modules?. For more information, please follow other related articles on the PHP Chinese website!