Tamás, you're my today's hero !!! Thank you so much for this hint. I didn't realise that my docker image did not end up inside the cmd/asm directory!
Haha, feeling stupid now ;) On Wed, Apr 3, 2019 at 3:08 PM Tamás Gulácsi <[email protected]> wrote: > RUN cd cmd/asm > RUN go build -o asm > > Is not what you wanted. > > Try > > RUN cd cmd/asm && go build -o asm > > (or "RUN go build -o cmd/asm/asm ./cmd/asm") > > > > > 2019. április 3., szerda 13:05:44 UTC+2 időpontban Marcus Franke a > következőt írta: >> >> Hello, >> >> I have a small project here at work, that does not compile using modules >> inside the golang docker image. >> >> The software resides inside a rather monorepo like repository inside the >> organizations private repository at github. So far, a great place for the >> modules, as I can develop the software outside my GOPATH and building it on >> my machine works great. >> >> My code resides inside this private repository inside an arbitrary path, >> which is not fully part of the name I initiated the module with. Which does >> not impose a problem when building on my laptop. >> >> My go.mod file looks like this: >> ``` >> module github.com/org/repo/asm >> >> go 1.12 >> >> require ( >> github.com/aws/aws-sdk-go v1.19.5 >> github.com/kr/pretty v0.1.0 >> github.com/stretchr/testify v1.3.0 // indirect >> golang.org/x/net v0.0.0-20190327091125-710a502c58a2 // indirect >> gopkg.in/yaml.v2 v2.2.2 >> ) >> ``` >> >> I have a Makefile does some simple tasks for building, it creates a >> tarball of my code directory and starts a docker build -t .... job. >> >> My simplified Dockerfile: >> ``` >> FROM golang:1.12 >> ENV GO111MODULE=on >> CMD mkdir asm >> WORKDIR /go/asm >> ADD code.tar . >> CMD tar xvf code.tar >> RUN cd cmd/asm >> RUN go build -o asm >> ``` >> >> When I execute the build, I get the following error output: >> ``` >> Step 10/10 : RUN go build -o asm >> ---> Running in 243e73e7ed25 >> go: finding github.com/stretchr/testify v1.3.0 >> go: finding github.com/kr/pretty v0.1.0 >> go: finding github.com/aws/aws-sdk-go v1.19.5 >> go: finding gopkg.in/yaml.v2 v2.2.2 >> go: finding golang.org/x/net v0.0.0-20190327091125-710a502c58a2 >> go: finding github.com/kr/text v0.1.0 >> go: finding github.com/davecgh/go-spew v1.1.0 >> go: finding github.com/pmezard/go-difflib v1.0.0 >> go: finding github.com/stretchr/objx v0.1.0 >> go: finding gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 >> go: finding golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 >> go: finding golang.org/x/text v0.3.0 >> go: finding github.com/kr/pty v1.1.1 >> go: finding golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a >> go: finding github.com/jmespath/go-jmespath >> v0.0.0-20180206201540-c2b33e8439af >> can't load package: package github.com/org/repo/asm: unknown import path >> "github.com/org/repo/asm": cannot find module providing package >> github.com/org/repo/asm >> The command '/bin/sh -c go build -o asm' returned a non-zero code: 1 >> ``` >> >> Why does the go tool try to kind of resolve the import path of my project >> itself? I thought this would be defined by the module directive in my >> go.mod file, at the source root of my project directory? >> >> My repository contains two internal packages below a pkg/ directory and >> these are being imported just fine with "github.com/org/repo/asm/pkg/foo" >> and "github.com/org/repo/asm/pkg/bar" in my code. On my laptop the >> compiler can, as written above, compile the project just fine. Here it >> seems it does not fumble with finding that particular and rather virtual >> module name. >> >> Am I doing something wrong or did I just misunderstand the way modules >> work? >> >> >> Kind and puzzled regards, >> Marcus >> >> -- >> pedo mellon a minno >> > -- > 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 [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- pedo mellon a minno -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
