在以下任何位置均找不到软件包“ golang.org/x/net/context”:

时间:2019-03-17 02:59:05

标签: go ubuntu-18.04

所以我试图运行我的代码,并且收到以下错误。因此,然后我打开另一个终端并尝试安装依赖项,这意味着它无法在我搜索过的所有包中找到该包,并且搜索了大约2个小时的答案,然后尝试了一切都没有运气。 我正在使用Golang版本1.7,并且正在Ubuntu 18.04上运行它。

GOPATH = / home / baller / go

在这里导入:

import ( 
    "bufio" 
    "encoding/json" 
    "errors" 
    "flag" 
    "fmt" 
    "log" 
    "io/ioutil" 
    "net" 
    "net/http" 
    "os" 
    "os/exec" 
    "path/filepath" 
    "runtime" 
    "strconv" 
    "strings" 
    "golang.org/x/net/context" 
    "golang.org/x/oauth2" 
    "google.golang.org/api/youtube/v3"
)

错误:

like_video.go:22:9: cannot find package "golang.org/x/net/context" in any of:
    /usr/lib/go-1.10/src/golang.org/x/net/context (from $GOROOT)
    /home/baller/go/src/golang.org/x/net/context (from $GOPATH)
like_video.go:23:9: cannot find package "golang.org/x/oauth2" in any of:
    /usr/lib/go-1.10/src/golang.org/x/oauth2 (from $GOROOT)
    /home/baller/go/src/golang.org/x/oauth2 (from $GOPATH)
like_video.go:24:9: cannot find package "google.golang.org/api/youtube/v3" in any of:
    /usr/lib/go-1.10/src/google.golang.org/api/youtube/v3 (from $GOROOT)
    /home/baller/go/src/google.golang.org/api/youtube/v3 (from $GOPATH)

1 个答案:

答案 0 :(得分:1)

首先,您的Go版本已过时。使用旧版本不是一个好主意,因为在1.7版本之前,有很多安全修复程序。

您的执行代码也已过时,因为上下文包已从实验部分(路径内的x)移至标准库中。因此,上下文参数的导入路径已更改。要解决此问题,您应该在项目上运行go fix

更多信息,请访问:https://golang.org/cmd/fix/

还缺少其他一些软件包。只需阅读错误,它们就会告诉您。对于所有丢失的软件包,应运行go get

因此,您需要执行以下操作:

  • 更新您的Go安装
  • 运行go fix
  • 通过运行go get
  • 安装缺少的软件包