On Sat, Mar 9, 2019 at 2:55 PM Ian Denhardt <i...@zenhack.net> wrote:

> Here's a reproducer:
>
> > $ go mod init example.org/my-project
> > go: creating new go.mod: module example.org/my-project
> > $ cat >> main.go << "EOF"
> > package main
> > import _ "example.com/other-module"
> > func main() {}
> > EOF
> > $ go list -mod=readonly ./...
> > build example.org/my-project: cannot load example.com/other-module:
> > import lookup disabled by -mod=readonly
>
> I think we'd both mis-understood Nicolas's complaint the first time --
> it's not that it still tries to access the network with -mod=readonly,
> but that even for basic commands for which a read-only mod file/no
> network access really *shouldn't* be a problem, it will still just bomb
> out.
>

The go command is "bombing out" here because the code in question
is trying to import "example.com/other-module", yet no dependency listed
in go.mod provides that package (there are no dependencies in go.mod at
all!).
[One of the things go list computes is the dependency graph
(visible if you use go list -json or go list -f '{{.Deps}}').]

It's true that if you have a CI/CD system, then for a successful build
you need to push complete code to it, and that includes a go.mod with
listed dependencies sufficient to cover the relevant imports,
as I described in my original reply to Nicolas. If go.mod were up to date
(for example, if 'go mod tidy' found no work to do) and the local
Go module cache already contained the listed dependencies,
then the 'go list -mod=readonly' command you showed would complete
just fine. You can't push code with an incomplete dependency list to the
CI/CD system and expect it to build, any more than you can push
code with missing function definitions and expect it to build.

Best,
Russ
_______________________________________________
golang mailing list -- golang@lists.fedoraproject.org
To unsubscribe send an email to golang-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/golang@lists.fedoraproject.org

Reply via email to