Go模块替换命令不起作用
我有以下go模块示例的代码结构(macOS上的go 1.14.2) 预订关系Go模块替换命令不起作用,go,go-modules,Go,Go Modules,我有以下go模块示例的代码结构(macOS上的go 1.14.2) 预订关系 go.mod 梅因,加油 server.go 我为服务器添加了以下依赖项。转到 package main import bn "nurture.gitlab.com/Core/Contracs/BookingNexus/Gen/Go" 我在go.mod中添加了以下代码 module nurture.gitlab.com/Core/BookingNexus go 1.14 require ( nurtu
- go.mod
- 梅因,加油
- server.go
package main
import bn "nurture.gitlab.com/Core/Contracs/BookingNexus/Gen/Go"
我在go.mod中添加了以下代码
module nurture.gitlab.com/Core/BookingNexus
go 1.14
require (
nurture.gitlab.com/Core/Contracts latest
)
replace nurture.gitlab.com/Core/Contracts latest => /Users/.../Core/Contracts
因为我现在没有furtent.gitlab.com,所以我使用了replace
指令,但是它仍然试图从furtent.gitlab.com下载,并说无法使用tcp。
如果我运行go mod tidy
/Users/.../BookingNexus/go.mod:6: unrecognized import path "nurture.gitlab.com/Core/Contracts": https fetch: Get "https://nurture.gitlab.com/Core/Contracts?go-get=1": dial tcp: lookup nurture.gitlab.com: no such host
我希望replace命令应该提供另一种获取路径的方法,但是它仍然尝试从unexistenet路径下载,根本不考虑replace指令(我尝试了包括和排除,两次都得到了相同的消息)
有人能帮我解释一下为什么会出现这种情况吗?如果您想根据包
合同的本地副本进行构建,您需要注释掉远程路径:
require (
//
// comment this out during local development:
//
// nurture.gitlab.com/Core/Contracts latest
)
replace nurture.gitlab.com/Core/Contracts => /Users/.../Core/Contracts
一旦开发完成并签入远程位置,则注释掉替换
并恢复远程路径
本手册中适用于您案例的一些注意事项:
注意:如果replace指令的右侧是文件系统路径,
然后目标必须在该位置有一个go.mod文件。如果
go.mod文件不存在,您可以使用go mod init创建一个