【问题标题】:could not import package in go无法在 go 中导入包
【发布时间】:2021-07-26 22:25:53
【问题描述】:

我已经安装了go1.16.3 darwin/amd64

去环境

GOPATH="/Users/hariwarshan/go"
GOROOT="/usr/local/go"

使用 vscode。 在 GOPATH/src/github.com/{username}/first

里面有 main.go 文件

package main

import (
    "github.com/gorilla/mux"
)

func main() {
    router := mux.NewRouter()

}

当我尝试导入多路复用器时,我只能看到以下问题

could not import github.com/gorilla/mux (cannot find package "github.com/gorilla/mux" in any of 
/usr/local/go/src/github.com/gorilla/mux (from $GOROOT)
/Users/hariwarshan/go/src/github.com/gorilla/mux (from $GOPATH))

我有两个问题。

  1. 我在 main.go 所在的目录 (GOPATH/src/github.com/{username}/first) 中给出了命令 go get github.com/gorilla/mux。对吗?
  2. 安装的文件在哪里。我可以看到一个名为 mux 的文件夹放置在 GOPATH/pkg/mod/github.com 中。如果它安装在那里,为什么问题指出它在里面 src/github.com em> 而不是 pkg/mod/github.com?

我什至尝试在 GOPATH/src/github.com/{username}/first 中提供 go mod initgo mod tidy没有任何工作。

请有人帮帮我。提前致谢

【问题讨论】:

  • 如果你使用模块,你不需要在GOPATH/src。查看入门教程并逐步了解它与您所做的可能有何不同。
  • 2021 年你应该使用模块而不是$GOPATH。请在下面查看我的回答,了解如何使用官方教程设置您的环境

标签: go package


【解决方案1】:

我建议通过以下路径,使用官方文档页面:

  1. 了解properly installing Go for your platform
  2. 阅读getting started tutorial,它还告诉您如何安装第 3 方包并在您的代码中使用它们。

完成这些步骤所需的时间不会超过 20 分钟,而且几乎可以肯定,您将能够在该过程结束时实现目标。作为奖励,请继续阅读第一页之后的入门指南,以了解如何创建自己的 Go 模块、从其他模块中使用它们、编写测试、build 将您的代码转换为二进制文件等等。

恕我直言,这是尝试编写 Go 程序所需的最低背景;如果不经过这些步骤,您将缺乏关键的基础知识,甚至很难理解 SO 的答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多