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.

Reply via email to