-1

我正在尝试学习如何使用 go 和 mux 构建网络服务器。我将 mux 作为 .go 文件导入到 main.go 文件中import github.com/gorilla/mux。但是,当我尝试运行代码时。我收到以下错误

no required module provides package github.com/gorilla/mux: go.mod file not found in current directory or any parent directory; see 'go help modules'

我的 GOPATH 是/Users/michiokaku/Study/go

我的目录的整体结构是

go___
     pkg
     bin
     my_codes___
                main.go

在 pkg 中,我在 path 中找到了一个名为 mux@v1.8.0 的目录pkg/mod/github.com/gorilla。我认为这是我使用go get -u github.com/gorilla/mux. 但是当代码运行时,我遇到了错误。

这里有什么问题?我该如何解决这个问题?

PS:我用的是mac。

4

1 回答 1

2

通读教程:Go 入门,如果您还没有看过的话。它非常符合您的情况。

简而言之:

  • 运行go mod init example.com/projectname,将最后一个参数替换为您的模块的名称。go.mod这将在当前目录中创建一个文件,该文件将跟踪您的依赖项。您的模块名称将是您模块中所有包的前缀。
  • 运行go mod tidygo get github.com/gorilla/mux添加github.com/gorilla/mux为依赖项。

您提到您pkg/mod/github.com/gorilla之前看到了一个目录。这是 Go模块缓存的一部分,由所有项目共享。

于 2021-07-07T17:14:01.863 回答