首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VGO和go.mod找不到Go模块

使用VGO和go.mod找不到Go模块
EN

Stack Overflow用户
提问于 2018-10-02 15:53:16
回答 1查看 7.5K关注 0票数 1

我使用版本化的Go命令来管理我的供应商,但是当我运行go build时,它找不到我的本地包

我已经在我的go.mod中设置了模块根,但是我仍然得到了一个错误

build :无法找到路径模块

工程拱门就像

代码语言:javascript
复制
foo/
|__src/github.com/username/package1/package1.go
|__src/github.com/username/package2/package2.go
|__src/github.com/username/package3/package3.go
|__main.go
|__go.mod
|__go.sum

所以我的go.mod看起来

代码语言:javascript
复制
module foo

require (
    ...
)

我跟踪了https://research.swtch.com/vgo-tour,但我不明白为什么这不起作用。

我的Go版本是1.11foo文件夹在我的GOPATH中,当我尝试在GOPATH之外运行时,它甚至不能工作。

我唯一能做到的就是

代码语言:javascript
复制
module github.com/username/package1

require (
    ...
)

但是没有找到其他两个包,我得到了与上面相同的错误。

是我错过了什么,还是我提供的模块路径必须更改?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-02 18:10:45

我假设您导入的本地包是错误的,请遵循我的示例。

这是我的go.mod (例如,在GOPATH之外,我导入了mux ):

代码语言:javascript
复制
module example

require github.com/gorilla/mux v1.6.2 // indirect

顺便说一下,您可以创建一个空的go.mod__,go将为您找到并更新go.mod

The main.go

代码语言:javascript
复制
package main

import (
    _ "example/src/foo" // local package
    "fmt"
    _ "github.com/gorilla/mux" // example import
)

func main() {
    fmt.Println("foo")
}

foo本地包:

代码语言:javascript
复制
package foo

import "fmt"

func bar() {
    fmt.Println("foo")
}

模块树:

代码语言:javascript
复制
├── go.mod
├── go.sum
├── main.go
└── src
    └── foo
        └── foo.go

您可以在这里找到更多的解释,Modules

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52612037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档