登录
首页 >  Golang >  Go问答

更新go mod依赖并保留本地更改

来源:stackoverflow

时间:2024-02-18 14:27:25 427浏览 收藏

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《更新go mod依赖并保留本地更改》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我有一个使用一些本地包的包

module mycompany.com/clientname/server

go 1.14

require (
    github.com/lib/pq v1.7.0
    github.com/99designs/gqlgen v0.11.3
    github.com/vektah/gqlparser/v2 v2.0.1
    golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
    mycompany.com/clientname/models v0.0.0-00010101000000-000000000000
    mycompany.com/common/utils v0.0.0-00010101000000-000000000000
)

replace mycompany.com/common/utils => ../../common/utils

replace mycompany.com/clientname/models => ../models

mycompany.com 域不提供该包,它只是一个虚构的路径(我在我的 gopath ~/go/src/mycompany.com/... 中使用它)

问题是,当我运行 go get -u all 时,我希望更新“有效”包(如 github.com/lib/pqgithub.com/99designs/gqlgen),但保留本地(虚构)包原样。

但是 go get -u all 只是打印出新版本,然后打印本地软件包上的错误,然后不会更改 go.mod

go: google.golang.org/grpc upgrade => v1.30.0
go: go.opencensus.io upgrade => v0.22.4
go: github.com/mattn/go-runewidth upgrade => v0.0.9
go: github.com/gogs/chardet upgrade => v0.0.0-20191104214054-4b6791f73a28
go: golang.org/x/text upgrade => v0.3.3
go: github.com/mitchellh/mapstructure upgrade => v1.3.2
go get all: unrecognized import path "mycompany.com/clientname/models": reading https://mycompany.com/clientname/models?go-get=1: 404 Not Found
go get all: unrecognized import path "mycompany.com/common/utils": reading https://mycompany.com/common/utils?go-get=1: 404 Not Found

解决方案


go get -u 的错误是 go 命令中的错误,已在即将发布的 Go 1.16 版本中修复。详情请见https://golang.org/issue/32567

(也就是说,理想情况下,您应该在版本控制中托管模块并使用 GOPRIVATE=mycompany.com,而不是通过 replace 指令在本地插入内容。)

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

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