Cobra: "ambiguous import"-error when trying to "go get" cobra

Created on 3 Sep 2020  ยท  9Comments  ยท  Source: spf13/cobra

When following the installation instructions, I get:

$ go get -u github.com/spf13/cobra/cobra
go: github.com/spf13/cobra/cobra upgrade => v0.0.0-20200826151851-02a0d2fbc9e6
go get github.com/spf13/cobra/cobra: ambiguous import: found package github.com/spf13/cobra/cobra in multiple modules:
    github.com/spf13/cobra v1.0.0 (/Users/jimbrannlund/go/pkg/mod/github.com/spf13/[email protected]/cobra)
    github.com/spf13/cobra/cobra v0.0.0-20200826151851-02a0d2fbc9e6 (/Users/jimbrannlund/go/pkg/mod/github.com/spf13/cobra/[email protected])

macOS Mojave 10.14.6

Darwin Jims-MacBook-Pro-2.local 18.7.0 Darwin Kernel Version 18.7.0: Thu Jun 20 18:42:21 PDT 2019; root:xnu-4903.270.47~4/RELEASE_X86_64 x86_64
$ go version
go version go1.14.3 darwin/amd64

I'm using the new way with Go Modules, that is no GOPATH

Jims-MacBook-Pro-2:slack-cli jimbrannlund$ echo $GOPATH

Jims-MacBook-Pro-2:slack-cli jimbrannlund$
````

Directory contents:

Jims-MacBook-Pro-2:slack-cli jimbrannlund$ ls -la
total 56
drwxr-xr-x 8 jimbrannlund staff 256 Sep 3 09:54 .
drwxr-xr-x 49 jimbrannlund staff 1568 Sep 2 21:32 ..
drwxr-xr-x 13 jimbrannlund staff 416 Sep 2 21:33 .git
-rw-r--r-- 1 jimbrannlund staff 17 May 25 14:12 README.md
drwxr-xr-x 3 jimbrannlund staff 96 Sep 3 09:54 cmd
-rw-r--r-- 1 jimbrannlund staff 226 Sep 3 10:09 go.mod
-rw-r--r-- 1 jimbrannlund staff 13321 Sep 3 10:09 go.sum
-rw-r--r-- 1 jimbrannlund staff 1174 Sep 2 20:48 main.go
```

needs investigation

Most helpful comment

A workaround I found was to "go get" a specific version:

go get -u github.com/spf13/cobra/[email protected]

All 9 comments

A workaround I found was to "go get" a specific version:

go get -u github.com/spf13/cobra/[email protected]

A workaround I found was to "go get" a specific version:

go get -u github.com/spf13/cobra/[email protected]

thanks for this, I'm building cobra as part of a distributed image and this works.

Issue related to #1191. Should have been solved.

resolved by #1233

I've confirmed this has been resolved:

โฏ go get -u github.com/spf13/cobra
go: downloading github.com/spf13/cobra v1.0.0
go: github.com/spf13/cobra upgrade => v1.0.0
go: downloading github.com/spf13/pflag v1.0.3
go: github.com/spf13/pflag upgrade => v1.0.5
โฏ

I'm still having this issue:

$ go get -u github.com/spf13/cobra/cobra
go: github.com/spf13/cobra/cobra upgrade => v0.0.0-20200916152758-7f8e83d9366a
go get github.com/spf13/cobra/cobra: ambiguous import: found package github.com/spf13/cobra/cobra in multiple modules:
    github.com/spf13/cobra v1.0.0 (/Users/myhome/go/pkg/mod/github.com/spf13/[email protected]/cobra)
    github.com/spf13/cobra/cobra v0.0.0-20200916152758-7f8e83d9366a (/Users/myhome/go/pkg/mod/github.com/spf13/cobra/[email protected])

macOS 10.15.7

Darwin Prime.local 19.6.0 Darwin Kernel Version 19.6.0: Mon Aug 31 22:12:52 PDT 2020; root:xnu-6153.141.2~1/RELEASE_X86_64 x86_64
$ go version
go version go1.15.2 darwin/amd64

Also using gomodules:

$ echo $GOPATH
$

The workaround works for me:

go get -u github.com/spf13/cobra/[email protected]

But since this was closed as resolved I thought I'd bring it to y'all's attention.

I'm brand new to Go and started using go get basically this week, so apologies if this is a case of PEBKAC.

@AndrewLivingston Your go get path is incorrect. There is no longer a package at cobra/cobra. Only one single package at cobra. So, you'll want to do:

go get -u github.com/spf13/cobra

And you should get the package correctly

I think I'm mixing up the command and the library here, sorry!

The main readme includes this section:
image
That "Here" links to: https://github.com/spf13/cobra/blob/master/cobra/README.md and does include the cobra/cobra path:
image

I have a feeling I'm still doing something wrong.

If it's not me, and it is the docs, I'd be happy to file a separate issue about that if there isn't one already.

Ah, it is me. The command was failing, I think, because I was inside a directory I'd already run go mod init inside of.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

niski84 picture niski84  ยท  4Comments

andygrunwald picture andygrunwald  ยท  6Comments

anuraaga picture anuraaga  ยท  5Comments

diwakergupta picture diwakergupta  ยท  5Comments

lukasmalkmus picture lukasmalkmus  ยท  4Comments