簡體   English   中英

go 不需要模塊提供 package 多路復用器錯誤

[英]go no required module provides package mux error

所以我有以下代碼,

package main
import (
    "github.com/gorilla/mux"
)
func main() {
    router := mux.NewRouter()
}

when I do go run., it gives the following error binapi.go:4:2: no required module provides package github.com/gorilla/mux; to add it: go get github.com/gorilla/mux binapi.go:4:2: no required module provides package github.com/gorilla/mux; to add it: go get github.com/gorilla/mux ,我該如何解決這個錯誤? 我已經以各種可能的方式運行了 go get github.com/gorilla/mux 命令,並且我確定它已安裝。 不久前我發現了一個帖子,但它給出的命令不起作用。 該命令是 go env -w GO111MODULE=auto 但它沒有解決問題。

這是 go 環境

GO111MODULE="auto"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/ProfMonkey07/Library/Caches/go-build"
GOENV="/Users/ProfMonkey07/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/ProfMonkey07/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/ProfMonkey07/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.17.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/ProfMonkey07/binapi/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/8g/ssbpssj956ncjflh7w2k4w5m0000gn/T/go-build2892181555=/tmp/go-build -gno-record-gcc-switches -fno-common"

聽起來您在項目的根目錄中沒有go.mod文件。 首先運行go mod init <name>

然后,當您運行go mod tidy時,它會將“github.com/gorilla/mux”依賴項添加到所需模塊的列表中,或者使用所述go get github.com/gorilla/mux
這種行為在 go1.16中發生了變化。 在它會自動為您添加依賴項之前。

如果您使用 VCS,請確保同時提交go.modgo.sum文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM