登录
首页 >  Golang >  Go问答

golang供应商路径找不到包

来源:stackoverflow

时间:2024-04-28 17:15:35 242浏览 收藏

大家好,今天本人给大家带来文章《golang供应商路径找不到包》,文中内容主要涉及到,如果你对Golang方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

问题内容

我正在从 github.com/tarm/serial 构建示例程序。

情况 1:如果将上述存储库检出到 $gopath/src/github.com/tarm/serial,则构建正常。

情况 2:如果将存储库移动到 $gopath/src/vendor/github.com/tarm/serial 下,则 go build 命令会抱怨 cannot find package "github.com/tarm/serial

案例3:其他so答案建议将其放在./vendor下,以便包位于./vendor/github.com/tarm/serial。那也不行。

go版本是1.10.4。我相信在过去的不同时间看到建议案例 2 或案例 3 的页面应该会起作用。有什么改变吗?您是否需要以某种方式启用供应商功能?

详细信息:

失败的命令

gotester:~/testdir$ go build uarttest_main.go
uarttest_main.go:5:9: cannot find package "github.com/tarm/serial" in any of:
    /home/gotester/bin/go/src/github.com/tarm/serial (from $goroot)
    /home/gotester/testdir/libs/src/github.com/tarm/serial (from $gopath)

源代码位于./

gotester:~/testdir$ cat uarttest_main.go
package main

import (
        "log"
        "github.com/tarm/serial"
)

func main() {
        c := &serial.config{name: "com45", baud: 115200}
        s, err := serial.openport(c)
        if err != nil {
                log.fatal(err)
        }

        n, err := s.write([]byte("test"))
        if err != nil {
                log.fatal(err)
        }

        buf := make([]byte, 128)
        n, err = s.read(buf)
        if err != nil {
                log.fatal(err)
        }
        log.printf("%q", buf[:n])
}

./vendor目录:

gotester:~/testdir$ tree --charset=ascii ./vendor
./vendor
`-- github.com
    `-- tarm
        `-- serial
            |-- basic_test.go
            |-- LICENSE
            |-- README.md
            |-- serial.go
            |-- serial_linux.go
            |-- serial_posix.go
            `-- serial_windows.go

3 directories, 7 files

如果现在运行此命令:mv ./vendor/github.com ./libs/src,构建将成功。


解决方案


Go 工具链期望您的项目植根于 GOPATH/src。如果 testdir 是您项目的根目录,则它需要位于 GOPATH/src/testdir,而不是 ~/testdir。然后,如果您将依赖项签入 GOPATH/src/testdir/vendor,您将获得您正在寻找的行为。请参阅Getting started

终于介绍完啦!小伙伴们,这篇关于《golang供应商路径找不到包》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

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