为什么要使用go.work进入存储库.此模块中没有使用throws警告包

  • 本文关键字:模块 throws 警告 go work 存储 go
  • 更新时间 :
  • 英文 :


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

|- 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
)

首先,确保您的server.go位于package main中,与原始gorilla/websocket/examples/echo/server.go一样。

其次,测试文件夹的名称(也是websocket(是否存在问题(与websocket.xxx调用冲突(
对于测试,请尝试更改(并相应更新go.work(

最新更新