没有VCS/Git的模块初始化失败,无法确定模块路径

Doe*_*ohn 15 go

我正在尝试使用go模块初始化一个新的go项目(使用go 1.11).我不打算在github或其他地方发布它,它只是一个只有主程序包的临时/测试项目.

每当我尝试go mod init在目录(在我之外$GOPATH)运行时,我都会收到此错误:

go: cannot determine module path for source directory /Users/... (outside GOPATH, no import comments)

不使用git(或其他VCS)是不可能初始化模块?或者有任何解决方法吗?

Ham*_*nis 21

不使用git(或其他VCS)是不可能初始化模块?或者有任何解决方法吗?

是的,可以在不使用VSC的情况下初始化模块,初始化模块不需要使用git或任何其他VCS做任何事情.

当模块init生成模块时,如果未输入模块名称,则会发生此错误modulename.

$ go mod init modulename
Run Code Online (Sandbox Code Playgroud)

go.mod将是的内容

module modulename
Run Code Online (Sandbox Code Playgroud)

编辑:

要使用本地存储库中的模块,请使用该replace指令

在要检查本地模块的主模块中,添加以下行

replace "X" v0.0.0 => "{location To your local module}"
require "X" v0.0.0
Run Code Online (Sandbox Code Playgroud)

然后在你的主项目中你可以做到

import "X/util"
Run Code Online (Sandbox Code Playgroud)

现在,当您要执行go build此操作时,将在主项目的mod文件中找到您所在位置的本地模块.

  • 没有更好的解决方案.https://github.com/golang/go/issues/28214 (2认同)