main.go 找不到包

main.go not able to find the package

实际上我想使用 c4 为视频文件生成 c4 id ,所以我发现下面的 repo 是为做这件事而开发的,所以我克隆了这个repo https://github.com/Avalanche-io/c4/tree/v0.7.0

现在按照堆栈溢出的答案中的建议:Not able to install cmd version of c4 from github

我在我的 ubuntu 终端中执行以下命令

go get github.com/Avalanche-io
go get github.com/Avalanche-io/c4/id
go get github.com/Avalanche-io/c4/cmd/c4

然后他们在示例中展示了如何使用此 repo

package main

import (
  "fmt"
  "io"
  "os"

  c4 "github.com/avalanche-io/c4/id"
)

func main() {
  file := "main.go"
  f, err := os.Open(file)
  if err != nil {
    panic(err)
  }
  defer f.Close()

  // create a ID encoder.
  e := c4.NewEncoder()
  // the encoder is an io.Writer
  _, err = io.Copy(e, f)
  if err != nil {
    panic(err)
  }
  // ID will return a *c4.ID.
  // Be sure to be done writing bytes before calling ID()
  id := e.ID()
  // use the *c4.ID String method to get the c4id string
  fmt.Printf("C4id of \"%s\": %s\n", file, id)
  return
}

我只是复制了这个相同的示例并创建了一个 main.go 文件,当我 运行 他们在 README.md https://github.com/Avalanche-io/c4/blob/v0.7.0/id/README.md 中定义的这个命令时 该命令是文件的 go run main.go ```` Instead of getting the c4 id```,如示例中所示。我收到以下错误

main.go:8:3: cannot find package "github.com/avalanche-io/c4/id" in any of:
    /usr/lib/go-1.13/src/github.com/avalanche-io/c4/id (from $GOROOT)
    /home/vinay/go/src/github.com/avalanche-io/c4/id (from $GOPATH)

我不懂 go 语言,所以我很难解决这里的问题,有没有 go 开发人员可以帮助我。

main.go 文件无法在 /home/vinay/go/src/github.com/avalanche-io/c4/id 中找到包 github.com/avalanche-io/c4/id,正如我所见,您有 运行 以下 go get 命令

go get github.com/Avalanche-io
go get github.com/Avalanche-io/c4/id
go get github.com/Avalanche-io/c4/cmd/c4

但其中 none 个名字为 github.com/avalanche-io/c4/id 所以根据我的说法,你需要执行以下命令

go get github.com/avalanche-io/c4/id

现在 运行 你的 main.go

go run main.go