猿问

为什么 go get in a repository with go.work throws

我的目标是创建一个包含多个文件夹的存储库

|- go.work

|- websocket

|  |- go.mod

|  |- go.sum

|  |- server.go

|- channel

|  |- main.go

websocket 使用github.com/gorilla/websocket包。

所以,我需要在websocket文件夹中做。

  1. $ go mod init github.com/kidfrom/learn-golang/websocket

  2. $ go get github.com/gorilla/websocket@v1.5.0

  3. $ go work use .

问题是,websocket/go.mod抛出警告

github.com/gorilla/websocket is not used in this module

如果我这样做go mod tidywebsocket/go.mod将被清除并websocket/server.go抛出错误

could not import github.com/gorilla/websocket (no required module provides package "github.com/gorilla/websocket")

TLDR

websocket/go.mod

module github.com/kidfrom/learn-golang/websocket


go 1.19


require github.com/gorilla/websocket v1.5.0 // indirect

websocket/go.sum


github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=

github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=

websocket/server.go


go.work


go 1.19


use (

    ./websocket

)


桃花长相依
浏览 103回答 1
1回答

噜噜哒

首先,确保您的server.go内容package main与原始内容一样gorilla/websocket/examples/echo/server.go。其次,测试文件夹的名称(也是) websocket是否有问题(与websocket.xxx调用冲突)。为了测试,尝试更改它(并go.work相应地更新)
随时随地看视频慕课网APP

相关分类

Go
我要回答