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 golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.