我正在尝试运行go get golang.org/x/tour tour命令,但出现了错误消息"package tour: unrecognized import path "tour" (import path does not begin with hostname)"。我也没有在提到的bin文件夹中获得二进制文件。

我尝试解决此问题的方法:

  • 阅读https://golang.org/doc/code.html上的文档,并
    https://golang.org/doc/install
  • 验证工作区文件夹是否存在文档中指定的位置(我的
    工作区是/home/USERNAME/go,在其中创建了2
    文件夹srcbin)。
  • 将命令从go get golang.org/x/tour tour更改为go getgolang.org/x/tour /home/USERNAME/go(仍然获得类似的导入路径错误消息)
  • 验证我的go路径设置正确,并且使用安装了go
    默认情况下,我在/etc/profile中的Go 路径是/usr/local/go/bin
  • 因为命令确实创建了一个名为golang.org的目录,所以我导航到/home/USERNAME/go/src/golang.org/x/tour并运行go build tour.go。我得到了错误:
    # command-line-arguments
    ./tour.go:62:4: undefined: socketAddr
    ./tour.go:126:28: undefined: prepContent
    
  • 阅读golang.org/x/tour文件夹中的README.md
  • 将bin权限更改为755
  • 最佳答案

    go get的语法是(运行go help get可以看到):

    usage: go get [-d] [-f] [-t] [-u] [-v] [-fix] [-insecure] [build flags] [packages]
    

    最后列出的所有内容都是要获取的软件包。因此,您只需运行:
    go get golang.org/x/tour
    

    注意:无需传递其他tour参数。这就是错误消息告诉您的内容:无法识别tour包。

    上面的命令将获取golang.org/x/tour并将其安装到$GOPATH/bin中,因此您可以在上面的命令之后简单地运行它,例如:
    $GOPATH/bin/tour
    

    关于linux - 无法 `go get`离线教学,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53472725/

    10-11 02:07