如何将 go 模块指向尚未推送到 Git 的本地模块
How to point go module to a local module which is not yet pushed to Git
我有什么:
- 私有存储库
- 存储库中的子模块
submodule/
submodule.go
go.mod
go.sum
main.go
go.mod
go.sum
go.mod
包含
module github.com/username/privaterepo
go 1.16
require github.com/username/privaterepo/submodule latest
replace (
github.com/username/privaterepo/submodule latest => target ./submodule
)
submodule/go.mod
包含
module github.com/username/privaterepo/submodule
go 1.16
我还没有将任何内容推送到存储库。我正在尝试 go mod tidy
在我的应用程序的根目录中:
$ env GIT_TERMINAL_PROMPT=1 go mod tidy
Username for 'https://github.com': username
Password for 'https://username@github.com':
go: errors parsing go.mod:
<...>/go.mod:5: no matching versions for query "latest"
<...>/go.mod:8:2: no matching versions for query "latest"
我应该为尚未推送到存储库的本地子模块使用哪个版本?当它没有被推送到存储库时,是否甚至可以使用这样的本地子模块(我认为 go mod
在看到 replace
时甚至不会去远程源)?
我用
修正了go.mod
module github.com/username/privaterepo
go 1.16
require github.com/username/privaterepo/submodule v0.0.0 //version changed to v0.0.0-00010101000000-000000000000 after go mod tidy
replace github.com/username/privaterepo/submodule => ./submodule
我有什么:
- 私有存储库
- 存储库中的子模块
submodule/
submodule.go
go.mod
go.sum
main.go
go.mod
go.sum
go.mod
包含
module github.com/username/privaterepo
go 1.16
require github.com/username/privaterepo/submodule latest
replace (
github.com/username/privaterepo/submodule latest => target ./submodule
)
submodule/go.mod
包含
module github.com/username/privaterepo/submodule
go 1.16
我还没有将任何内容推送到存储库。我正在尝试 go mod tidy
在我的应用程序的根目录中:
$ env GIT_TERMINAL_PROMPT=1 go mod tidy
Username for 'https://github.com': username
Password for 'https://username@github.com':
go: errors parsing go.mod:
<...>/go.mod:5: no matching versions for query "latest"
<...>/go.mod:8:2: no matching versions for query "latest"
我应该为尚未推送到存储库的本地子模块使用哪个版本?当它没有被推送到存储库时,是否甚至可以使用这样的本地子模块(我认为 go mod
在看到 replace
时甚至不会去远程源)?
我用
修正了go.mod
module github.com/username/privaterepo
go 1.16
require github.com/username/privaterepo/submodule v0.0.0 //version changed to v0.0.0-00010101000000-000000000000 after go mod tidy
replace github.com/username/privaterepo/submodule => ./submodule