登录
首页 >  Golang >  Go问答

为 1.9 制作的一个升级 go 项目如何兼容 1.18?

来源:stackoverflow

时间:2024-04-30 09:27:37 436浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《为 1.9 制作的一个升级 go 项目如何兼容 1.18?》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在尝试升级为 >= 1.9 制作的 go-项目,但由于缺少 go.mod 文件(又名 deps 锁),显然无法在 1.18 上运行。

如何正确升级?

原始源代码位于:https://github.com/annttu/latenssi-go

我收到一堆不包含的包,但我不明白为什么?

GOROOT=/opt/homebrew/Cellar/go/1.18/libexec #gosetup
GOPATH=/Users/sm/go #gosetup
/opt/homebrew/Cellar/go/1.18/libexec/bin/go mod tidy #gosetup
go: finding module for package github.com/annttu/latenssi-go/collector/config
go: finding module for package github.com/annttu/latenssi-go/probe/probe
go: finding module for package github.com/annttu/latenssi-go/proto
go: finding module for package github.com/annttu/latenssi-go/probe/config
go: finding module for package github.com/annttu/latenssi-go/probe/grpc
go: finding module for package github.com/annttu/latenssi-go/collector/destination
go: finding module for package github.com/annttu/latenssi-go/collector/grpc
go: finding module for package github.com/annttu/latenssi-go/probe/result
go: finding module for package github.com/miekg/dns
go: found github.com/miekg/dns in github.com/miekg/dns v1.1.48
go: finding module for package github.com/annttu/latenssi-go/probe/result
go: finding module for package github.com/annttu/latenssi-go/collector/config
go: finding module for package github.com/annttu/latenssi-go/probe/probe
go: finding module for package github.com/annttu/latenssi-go/probe/config
go: finding module for package github.com/annttu/latenssi-go/collector/destination
go: finding module for package github.com/annttu/latenssi-go/probe/grpc
go: finding module for package github.com/annttu/latenssi-go/collector/grpc
go: finding module for package github.com/annttu/latenssi-go/proto
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/collector imports
    github.com/annttu/latenssi-go/collector/config: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/collector/config
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/collector imports
    github.com/annttu/latenssi-go/collector/destination: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/collector/destination
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/collector imports
    github.com/annttu/latenssi-go/collector/grpc: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/collector/grpc
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/collector/destination imports
    github.com/annttu/latenssi-go/proto: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/proto
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/probe imports
    github.com/annttu/latenssi-go/probe/config: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/probe/config
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/probe imports
    github.com/annttu/latenssi-go/probe/grpc: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/probe/grpc
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/probe imports
    github.com/annttu/latenssi-go/probe/probe: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/probe/probe
github.com/annttu/lantenssi-go/src/github.com/annttu/latenssi-go/probe/grpc imports
    github.com/annttu/latenssi-go/probe/result: module github.com/annttu/latenssi-go@latest found (v0.0.0-20180822071121-cbe7dd3b5c65), but does not contain package github.com/annttu/latenssi-go/probe/result

正确答案


go mod init 开头

cd /path/to/latenssi-go
go mod init github.com/annttu/latenssi-go
go mod tidy

对于 fork,请添加 replace directive 以避免修改源:

replace github.com/annttu/latenssi-go => github.com/samip5/latenssi-go

注意:original project annttu/latenssi-go 的来源位于 src/:这不起作用。

您需要直接在根项目级别获取源代码,而不是在 src 下。
src is only used by GOPATH 构建 gopath 模式时(go v1.11 之前的版本)。

到这里,我们也就讲完了《为 1.9 制作的一个升级 go 项目如何兼容 1.18?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>